|
35741
|
1332
|
0
|
2026-05-13T12:55:07.201155+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778676907201_m2.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny#","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.4793883,"height":-0.06304872},"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.0674867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.33776596,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33976063,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.40508643,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.40708113,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.47240692,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4744016,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5397274,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.54172206,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.60704786,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6090425,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6743683,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.67636305,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7280585,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
8391314559396548668
|
-8178367486339355464
|
idle
|
hybrid
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35735
|
NULL
|
NULL
|
NULL
|
|
35742
|
1331
|
1
|
2026-05-13T12:55:34.493753+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778676934493_m1.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny#","depth":4,"bounds":{"left":0.0,"top":0.08777778,"width":1.0,"height":0.9022222},"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.14097223,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.14097223,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.14513889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.28159723,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2857639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.42222223,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4263889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5628472,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.56701386,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.7034722,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.70763886,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.8440972,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.84826386,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95625,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
8391314559396548668
|
-8178367486339355464
|
idle
|
hybrid
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35740
|
NULL
|
NULL
|
NULL
|
|
35743
|
1332
|
1
|
2026-05-13T12:55:38.253843+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778676938253_m2.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny#","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.4793883,"height":-0.06304872},"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.0674867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.33776596,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33976063,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.40508643,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.40708113,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.47240692,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4744016,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5397274,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.54172206,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.60704786,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6090425,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6743683,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.67636305,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7280585,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
8391314559396548668
|
-8178367486339355464
|
idle
|
hybrid
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35735
|
NULL
|
NULL
|
NULL
|
|
35744
|
1331
|
2
|
2026-05-13T12:56:04.950433+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778676964950_m1.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny#","depth":4,"bounds":{"left":0.0,"top":0.08777778,"width":1.0,"height":0.9022222},"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.14097223,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.14097223,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.14513889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.28159723,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2857639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.42222223,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4263889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5628472,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.56701386,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.7034722,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.70763886,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.8440972,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.84826386,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95625,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
8391314559396548668
|
-8178367486339355464
|
idle
|
hybrid
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35740
|
NULL
|
NULL
|
NULL
|
|
35745
|
1332
|
2
|
2026-05-13T12:56:09.120505+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778676969120_m2.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny#","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.4793883,"height":-0.06304872},"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.0674867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.33776596,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33976063,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.40508643,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.40708113,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.47240692,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4744016,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5397274,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.54172206,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.60704786,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6090425,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6743683,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.67636305,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7280585,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
8391314559396548668
|
-8178367486339355464
|
idle
|
hybrid
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35735
|
NULL
|
NULL
|
NULL
|
|
35746
|
1331
|
3
|
2026-05-13T12:56:35.395760+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778676995395_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35740
|
NULL
|
NULL
|
NULL
|
|
35747
|
1332
|
3
|
2026-05-13T12:56:40.393937+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677000393_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.50265956,"top":0.15003991,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.51396275,"top":0.14844373,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.5212766,"top":0.14844373,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.5299202,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.53856385,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.54953456,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5581782,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5668218,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5777925,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5887633,"top":0.074221864,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.61535907,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.6263298,"top":0.074221864,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.9587766,"top":0.074221864,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.94514626,"top":0.09896249,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.95511967,"top":0.09896249,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.9644282,"top":0.09896249,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.9740692,"top":0.09736632,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.98138297,"top":0.09736632,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35735
|
NULL
|
NULL
|
NULL
|
|
35748
|
1331
|
4
|
2026-05-13T12:57:05.742666+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677025742_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35749
|
1332
|
4
|
2026-05-13T12:57:10.800901+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677030800_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.50265956,"top":0.15003991,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.51396275,"top":0.14844373,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.5212766,"top":0.14844373,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.5299202,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.53856385,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.54953456,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5581782,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5668218,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5777925,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5887633,"top":0.074221864,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.61535907,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.6263298,"top":0.074221864,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.9587766,"top":0.074221864,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.94514626,"top":0.09896249,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.95511967,"top":0.09896249,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.9644282,"top":0.09896249,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.9740692,"top":0.09736632,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.98138297,"top":0.09736632,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35750
|
1331
|
5
|
2026-05-13T12:57:36.043737+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677056043_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35748
|
NULL
|
NULL
|
NULL
|
|
35752
|
1332
|
5
|
2026-05-13T12:57:36.957624+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677056957_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.50265956,"top":0.15003991,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.51396275,"top":0.14844373,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.5212766,"top":0.14844373,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.5299202,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.53856385,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.54953456,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5581782,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5668218,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5777925,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.5887633,"top":0.074221864,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.61535907,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.6263298,"top":0.074221864,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.9587766,"top":0.074221864,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.94514626,"top":0.09896249,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.95511967,"top":0.09896249,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.9644282,"top":0.09896249,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.9740692,"top":0.09736632,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.98138297,"top":0.09736632,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-2705118533640374414
|
2072500115544178301
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…...
|
35749
|
NULL
|
NULL
|
NULL
|
|
35751
|
1331
|
6
|
2026-05-13T12:57:36.967698+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677056967_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false}]...
|
6592912636397793883
|
2072500115544178301
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;...
|
35748
|
NULL
|
NULL
|
NULL
|
|
35753
|
1331
|
7
|
2026-05-13T12:57:41.919908+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677061919_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-2705118533640374414
|
2072500115544178301
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35754
|
1332
|
6
|
2026-05-13T12:57:41.929522+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677061929_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.69481385,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.70478725,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6592912636397793883
|
2072500115544178301
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35755
|
1331
|
8
|
2026-05-13T12:57:43.877949+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677063877_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35753
|
NULL
|
NULL
|
NULL
|
|
35756
|
1332
|
7
|
2026-05-13T12:57:43.892683+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677063892_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.69481385,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.70478725,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35754
|
NULL
|
NULL
|
NULL
|
|
35757
|
1331
|
9
|
2026-05-13T12:58:14.216342+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677094216_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35758
|
1332
|
8
|
2026-05-13T12:58:14.311898+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677094311_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.69481385,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.70478725,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35759
|
1331
|
10
|
2026-05-13T12:58:44.581449+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677124581_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35757
|
NULL
|
NULL
|
NULL
|
|
35760
|
1332
|
9
|
2026-05-13T12:58:44.783344+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677124783_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.69481385,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.70478725,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35758
|
NULL
|
NULL
|
NULL
|
|
35761
|
1331
|
11
|
2026-05-13T12:59:14.964858+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677154964_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35757
|
NULL
|
NULL
|
NULL
|
|
35762
|
1332
|
10
|
2026-05-13T12:59:15.232708+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677155232_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.69481385,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.70478725,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35758
|
NULL
|
NULL
|
NULL
|
|
35764
|
1332
|
11
|
2026-05-13T12:59:30.262367+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677170262_m2.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny#","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.4793883,"height":-0.06304872},"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.0674867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.33776596,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33976063,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.40508643,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.40708113,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.47240692,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4744016,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5397274,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.54172206,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.60704786,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6090425,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6743683,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.67636305,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7280585,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
8391314559396548668
|
-8178367486339355464
|
click
|
hybrid
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35758
|
NULL
|
NULL
|
NULL
|
|
35763
|
1331
|
12
|
2026-05-13T12:59:30.269816+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677170269_m1.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny#","depth":4,"bounds":{"left":0.0,"top":0.08777778,"width":1.0,"height":0.9022222},"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.14097223,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.14097223,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.14513889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.28159723,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2857639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.42222223,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4263889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5628472,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.56701386,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.7034722,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.70763886,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.8440972,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.84826386,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95625,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
8391314559396548668
|
-8178367486339355464
|
click
|
hybrid
|
NULL
|
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35757
|
NULL
|
NULL
|
NULL
|
|
35766
|
1332
|
12
|
2026-05-13T12:59:36.189355+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677176189_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.69481385,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.70478725,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35765
|
1331
|
13
|
2026-05-13T12:59:36.199152+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677176199_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35767
|
NULL
|
0
|
2026-05-13T12:59:41.614146+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677181614_m1.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Paste
Redo
Cut
Copy
Paste
Open DevTools
Select All Paste
Redo
Cut
Copy
Paste
Open DevTools
Select All
Open DevTools...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Paste","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.065972224,"height":0.024444444},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Redo","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.065972224,"height":0.024444444},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Cut","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.065972224,"height":0.024444444},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Copy","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.065972224,"height":0.024444444},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Paste","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.065972224,"height":0.024444444},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Open DevTools","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.065972224,"height":0.024444444},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Select All","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.065972224,"height":0.024444444},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Open DevTools","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.065972224,"height":0.024444444},"on_screen":false,"role_description":"text"}]...
|
7494547228909861882
|
-4609881812977018194
|
click
|
hybrid
|
NULL
|
Paste
Redo
Cut
Copy
Paste
Open DevTools
Select All Paste
Redo
Cut
Copy
Paste
Open DevTools
Select All
Open DevTools
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35765
|
NULL
|
NULL
|
NULL
|
|
35768
|
NULL
|
0
|
2026-05-13T12:59:41.636594+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677181636_m2.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Cut
Copy
Paste
Paste and Match Style
Select All
Op Cut
Copy
Paste
Paste and Match Style
Select All
Open DevTools
Select All
Open DevTools...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Cut","depth":5,"bounds":{"left":0.27027926,"top":1.0,"width":0.03158245,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Copy","depth":5,"bounds":{"left":0.27027926,"top":1.0,"width":0.03158245,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Paste","depth":5,"bounds":{"left":0.27027926,"top":1.0,"width":0.03158245,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Paste and Match Style","depth":5,"bounds":{"left":0.27027926,"top":1.0,"width":0.03158245,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Select All","depth":5,"bounds":{"left":0.27027926,"top":1.0,"width":0.03158245,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Open DevTools","depth":5,"bounds":{"left":0.27027926,"top":1.0,"width":0.03158245,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Select All","depth":5,"bounds":{"left":0.27027926,"top":1.0,"width":0.03158245,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Open DevTools","depth":5,"bounds":{"left":0.27027926,"top":1.0,"width":0.03158245,"height":0.0},"on_screen":false,"role_description":"text"}]...
|
6183901222897373560
|
-1709264581626917716
|
click
|
hybrid
|
NULL
|
Cut
Copy
Paste
Paste and Match Style
Select All
Op Cut
Copy
Paste
Paste and Match Style
Select All
Open DevTools
Select All
Open DevTools
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35766
|
NULL
|
NULL
|
NULL
|
|
35770
|
1334
|
0
|
2026-05-13T13:00:05.031251+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677205031_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
1837425836067260207
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35769
|
1333
|
0
|
2026-05-13T13:00:05.050779+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677205050_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35771
|
1333
|
1
|
2026-05-13T13:00:11.113574+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677211113_m1.jpg...
|
Firefox
|
Meet — Work
|
1
|
meet.google.com/apk-dhog-imj?authuser=lukas.kovali meet.google.com/apk-dhog-imj?authuser=lukas.kovalik%40jiminny.com...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35769
|
NULL
|
NULL
|
NULL
|
|
35772
|
1334
|
1
|
2026-05-13T13:00:11.143231+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677211143_m2.jpg...
|
Firefox
|
Meet — Work
|
1
|
meet.google.com/apk-dhog-imj?authuser=lukas.kovali meet.google.com/apk-dhog-imj?authuser=lukas.kovalik%40jiminny.com...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
1837425836067260207
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35770
|
NULL
|
NULL
|
NULL
|
|
35773
|
1333
|
2
|
2026-05-13T13:00:28.422970+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677228422_m1.jpg...
|
Firefox
|
Meet - Sprint Review — Work
|
1
|
meet.google.com/apk-dhog-imj?authuser=lukas.kovali meet.google.com/apk-dhog-imj?authuser=lukas.kovalik%40jiminny.com...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Sprint Review
Mute tab
Meet - Sprint Review Meet - Sprint Review
Mute tab
Meet - Sprint Review
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Return to home screen
[EMAIL]
Switch account
Switch account
Lukas Kovalik
More options
Turn off microphone
Turn off camera
Turn on background blur
Microphone: MacBook Pro Microphone
Speaker: System Default Speaker Device
Camera: FaceTime HD Camera
Backgrounds and effects
Sprint Review
Sprint Review
+7
Adelina Petrova, Calum Scott, Gabriela Dureva and 7 more 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.
Background is now replaced...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Sprint Review","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.16631944,"height":0.045555554},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Mute tab","depth":5,"bounds":{"left":0.023958333,"top":0.08222222,"width":0.016666668,"height":0.026666667},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Meet - Sprint Review","depth":5,"bounds":{"left":0.042013887,"top":0.08777778,"width":0.07604167,"height":0.015},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.140625,"top":0.08222222,"width":0.016666668,"height":0.026666667},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.15486111,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.005902778,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.028819444,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.052083332,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.07534722,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.09861111,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.17743056,"top":0.09,"width":0.072916664,"height":0.044444446},"on_screen":true,"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.83923614,"top":0.09166667,"width":0.11631945,"height":0.018333333},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Switch account","depth":11,"bounds":{"left":0.89375,"top":0.11,"width":0.061805554,"height":0.017777778},"on_screen":true,"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.89375,"top":0.11,"width":0.061805554,"height":0.017777778},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":14,"bounds":{"left":0.18854167,"top":0.29222223,"width":0.0625,"height":0.020555556},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More options","depth":13,"bounds":{"left":0.6263889,"top":0.27611113,"width":0.033333335,"height":0.053333335},"on_screen":true,"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,"bounds":{"left":0.35277778,"top":0.6338889,"width":0.03888889,"height":0.053333335},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Turn off camera","depth":14,"bounds":{"left":0.4027778,"top":0.6338889,"width":0.03888889,"height":0.053333335},"on_screen":true,"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,"bounds":{"left":0.45277777,"top":0.6338889,"width":0.03888889,"height":0.053333335},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Microphone: MacBook Pro Microphone","depth":12,"bounds":{"left":0.17743056,"top":0.7272222,"width":0.11805555,"height":0.035555556},"on_screen":true,"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,"bounds":{"left":0.30104166,"top":0.7272222,"width":0.11840278,"height":0.035555556},"on_screen":true,"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,"bounds":{"left":0.425,"top":0.7272222,"width":0.11805555,"height":0.035555556},"on_screen":true,"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,"bounds":{"left":0.5486111,"top":0.7272222,"width":0.11805555,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Sprint Review","depth":11,"bounds":{"left":0.67777777,"top":0.31055555,"width":0.31111112,"height":0.04},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sprint Review","depth":14,"bounds":{"left":0.7743056,"top":0.31055555,"width":0.11805555,"height":0.04},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+7","depth":13,"bounds":{"left":0.8590278,"top":0.37388888,"width":0.009722223,"height":0.016111111},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adelina Petrova, Calum Scott, Gabriela Dureva and 7 more are in this call","depth":13,"bounds":{"left":0.6840278,"top":0.405,"width":0.2986111,"height":0.042777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Use Gemini to take notes Share notes and transcript","depth":11,"bounds":{"left":0.72152776,"top":0.46611112,"width":0.22361112,"height":0.07111111},"on_screen":true,"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,"bounds":{"left":0.76319444,"top":0.48277777,"width":0.1125,"height":0.020555556},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Share notes and transcript","depth":12,"bounds":{"left":0.76319444,"top":0.5044444,"width":0.1,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Start","depth":12,"bounds":{"left":0.88125,"top":0.47944444,"width":0.055555556,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Start","depth":14,"bounds":{"left":0.8979167,"top":0.49166667,"width":0.022222223,"height":0.020555556},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Join now","depth":12,"bounds":{"left":0.75,"top":0.555,"width":0.16666667,"height":0.062222224},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Join now","depth":14,"bounds":{"left":0.81319445,"top":0.57611114,"width":0.04027778,"height":0.020555556},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Other ways to join","depth":12,"bounds":{"left":0.76875,"top":0.6483333,"width":0.12916666,"height":0.044444446},"on_screen":true,"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,"bounds":{"left":0.36319444,"top":0.9,"width":0.46770832,"height":0.055},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":12,"bounds":{"left":0.61493057,"top":0.93666667,"width":0.049652778,"height":0.018333333},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":13,"bounds":{"left":0.61493057,"top":0.93666667,"width":0.049652778,"height":0.018333333},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Your camera is on. Your microphone is on.","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Background is now replaced","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
815004527839223464
|
4560099152019840723
|
click
|
accessibility
|
NULL
|
Meet - Sprint Review
Mute tab
Meet - Sprint Review Meet - Sprint Review
Mute tab
Meet - Sprint Review
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Return to home screen
[EMAIL]
Switch account
Switch account
Lukas Kovalik
More options
Turn off microphone
Turn off camera
Turn on background blur
Microphone: MacBook Pro Microphone
Speaker: System Default Speaker Device
Camera: FaceTime HD Camera
Backgrounds and effects
Sprint Review
Sprint Review
+7
Adelina Petrova, Calum Scott, Gabriela Dureva and 7 more 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.
Background is now replaced...
|
35769
|
NULL
|
NULL
|
NULL
|
|
35774
|
1334
|
2
|
2026-05-13T13:00:28.452800+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677228452_m2.jpg...
|
Firefox
|
Meet - Sprint Review — Work
|
1
|
meet.google.com/apk-dhog-imj?authuser=lukas.kovali meet.google.com/apk-dhog-imj?authuser=lukas.kovalik%40jiminny.com...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Sprint Review
Mute tab
Meet - Sprint Review Meet - Sprint Review
Mute tab
Meet - Sprint Review
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Return to home screen
[EMAIL]
Switch account
Switch account
Lukas Kovalik
More options
Turn off microphone
Turn off camera
Turn on background blur
Microphone: MacBook Pro Microphone
Speaker: System Default Speaker Device
Camera: FaceTime HD Camera
Backgrounds and effects
Sprint Review
Sprint Review
+7
Adelina Petrova, Calum Scott, Gabriela Dureva and 7 more 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.
Background is now replaced...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Sprint Review","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.07962101,"height":-0.051875472},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Mute tab","depth":5,"bounds":{"left":0.28174868,"top":1.0,"width":0.007978723,"height":-0.05905831},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Meet - Sprint Review","depth":5,"bounds":{"left":0.29039228,"top":1.0,"width":0.036402926,"height":-0.06304872},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.33759972,"top":1.0,"width":0.007978723,"height":-0.05905831},"on_screen":true,"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.27310506,"top":1.0,"width":0.07413564,"height":-0.086193085},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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.35521942,"top":1.0,"width":0.034906916,"height":-0.06464481},"on_screen":true,"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.67204124,"top":1.0,"width":0.055684842,"height":-0.06584203},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Switch account","depth":11,"bounds":{"left":0.6981383,"top":1.0,"width":0.029587766,"height":-0.07901037},"on_screen":true,"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.6981383,"top":1.0,"width":0.029587766,"height":-0.07901037},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More options","depth":13,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Turn off camera","depth":14,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Microphone: MacBook Pro Microphone","depth":12,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Sprint Review","depth":11,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sprint Review","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+7","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adelina Petrova, Calum Scott, Gabriela Dureva and 7 more are in this call","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Use Gemini to take notes Share notes and transcript","depth":11,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Share notes and transcript","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Start","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Start","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Join now","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Join now","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Other ways to join","depth":12,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Your camera is on. Your microphone is on.","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Background is now replaced","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
815004527839223464
|
4560099152019840723
|
click
|
accessibility
|
NULL
|
Meet - Sprint Review
Mute tab
Meet - Sprint Review Meet - Sprint Review
Mute tab
Meet - Sprint Review
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Return to home screen
[EMAIL]
Switch account
Switch account
Lukas Kovalik
More options
Turn off microphone
Turn off camera
Turn on background blur
Microphone: MacBook Pro Microphone
Speaker: System Default Speaker Device
Camera: FaceTime HD Camera
Backgrounds and effects
Sprint Review
Sprint Review
+7
Adelina Petrova, Calum Scott, Gabriela Dureva and 7 more 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.
Background is now replaced...
|
35770
|
NULL
|
NULL
|
NULL
|
|
35776
|
1334
|
3
|
2026-05-13T13:00:56.372939+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677256372_m2.jpg...
|
Firefox
|
Meet - Sprint Review — Work
|
1
|
meet.google.com/apk-dhog-imj?authuser=lukas.kovali meet.google.com/apk-dhog-imj?authuser=lukas.kovalik%40jiminny.com...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Sprint Review
Mute tab
Meet - Sprint Review Meet - Sprint Review
Mute tab
Meet - Sprint Review
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
External participants joined
External participants joined
People
15
Gemini
Gemini
Gabriela Dureva
Greg Moser
Adelina Petrova
Jiminny Notetaker
Iliyana Netseva
Lauren Hudson
Calum Scott
User profile picture User profile picture 7 others
7 others
Others might still see your full video.
4:00
PM
Sprint Review
Sprint Review
Audio settings...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Sprint Review","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.07962101,"height":-0.051875472},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Mute tab","depth":5,"bounds":{"left":0.28174868,"top":1.0,"width":0.007978723,"height":-0.05905831},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Meet - Sprint Review","depth":5,"bounds":{"left":0.29039228,"top":1.0,"width":0.036402926,"height":-0.06304872},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.33759972,"top":1.0,"width":0.007978723,"height":-0.05905831},"on_screen":true,"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.27310506,"top":1.0,"width":0.07413564,"height":-0.086193085},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"External participants joined","depth":13,"bounds":{"left":0.7024601,"top":1.0,"width":0.011968086,"height":-0.06264961},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"External participants joined","depth":15,"bounds":{"left":0.7037899,"top":1.0,"width":0.05119681,"height":-0.071029544},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"People","depth":13,"bounds":{"left":0.71708775,"top":1.0,"width":0.011968086,"height":-0.06264961},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"15","depth":14,"bounds":{"left":0.7209109,"top":1.0,"width":0.004155585,"height":-0.071029544},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.7330452,"top":1.0,"width":0.013464096,"height":-0.071029544},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":16,"bounds":{"left":0.73204786,"top":1.0,"width":0.011303191,"height":-0.063447714},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gabriela Dureva","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Greg Moser","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adelina Petrova","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Notetaker","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Iliyana Netseva","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lauren Hudson","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Calum Scott","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"User profile picture User profile picture 7 others","depth":11,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"7 others","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Others might still see your full video.","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4:00","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PM","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sprint Review","depth":12,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sprint Review","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Audio settings","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
4301089796786326916
|
-7302139501999270207
|
click
|
accessibility
|
NULL
|
Meet - Sprint Review
Mute tab
Meet - Sprint Review Meet - Sprint Review
Mute tab
Meet - Sprint Review
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
External participants joined
External participants joined
People
15
Gemini
Gemini
Gabriela Dureva
Greg Moser
Adelina Petrova
Jiminny Notetaker
Iliyana Netseva
Lauren Hudson
Calum Scott
User profile picture User profile picture 7 others
7 others
Others might still see your full video.
4:00
PM
Sprint Review
Sprint Review
Audio settings...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35775
|
1333
|
3
|
2026-05-13T13:00:56.374343+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677256374_m1.jpg...
|
Firefox
|
Meet - Sprint Review — Work
|
1
|
meet.google.com/apk-dhog-imj?authuser=lukas.kovali meet.google.com/apk-dhog-imj?authuser=lukas.kovalik%40jiminny.com...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Sprint Review
Mute tab
Meet - Sprint Review Meet - Sprint Review
Mute tab
Meet - Sprint Review
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
External participants joined
External participants joined
People
15
Gemini
Gemini
Gabriela Dureva
Greg Moser
Adelina Petrova
Jiminny Notetaker
Iliyana Netseva
Lauren Hudson
Calum Scott
User profile picture User profile picture 7 others
7 others
Others might still see your full video.
4:00
PM
Sprint Review
Sprint Review...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Sprint Review","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.16631944,"height":0.045555554},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Mute tab","depth":5,"bounds":{"left":0.023958333,"top":0.08222222,"width":0.016666668,"height":0.026666667},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Meet - Sprint Review","depth":5,"bounds":{"left":0.042013887,"top":0.08777778,"width":0.07604167,"height":0.015},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.140625,"top":0.08222222,"width":0.016666668,"height":0.026666667},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.15486111,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.005902778,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.028819444,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.052083332,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.07534722,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.09861111,"top":0.9583333,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"External participants joined","depth":13,"bounds":{"left":0.9027778,"top":0.08722222,"width":0.025,"height":0.04},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"External participants joined","depth":15,"bounds":{"left":0.90555555,"top":0.09888889,"width":0.09444445,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"People","depth":13,"bounds":{"left":0.93333334,"top":0.08722222,"width":0.025,"height":0.04},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"15","depth":14,"bounds":{"left":0.94131947,"top":0.09888889,"width":0.008680556,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.96666664,"top":0.09888889,"width":0.028125,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":16,"bounds":{"left":0.96458334,"top":0.08833333,"width":0.023611112,"height":0.037777778},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gabriela Dureva","depth":17,"bounds":{"left":0.18715277,"top":0.35944444,"width":0.08298611,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Greg Moser","depth":17,"bounds":{"left":0.46006945,"top":0.35944444,"width":0.061458334,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adelina Petrova","depth":17,"bounds":{"left":0.73229164,"top":0.35944444,"width":0.08055556,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Notetaker","depth":17,"bounds":{"left":0.18645833,"top":0.61833334,"width":0.09409722,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Iliyana Netseva","depth":17,"bounds":{"left":0.46770832,"top":0.61833334,"width":0.077083334,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lauren Hudson","depth":17,"bounds":{"left":0.73645836,"top":0.61833334,"width":0.077430554,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Calum Scott","depth":17,"bounds":{"left":0.18645833,"top":0.87722224,"width":0.062152777,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"User profile picture User profile picture 7 others","depth":11,"bounds":{"left":0.459375,"top":0.66444445,"width":0.26041666,"height":0.24555555},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"7 others","depth":13,"bounds":{"left":0.56875,"top":0.82055557,"width":0.041666668,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Others might still see your full video.","depth":15,"bounds":{"left":0.78715277,"top":0.87777776,"width":0.14305556,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4:00","depth":12,"bounds":{"left":0.18298611,"top":0.9444444,"width":0.024652777,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PM","depth":12,"bounds":{"left":0.21111111,"top":0.9444444,"width":0.016319444,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sprint Review","depth":12,"bounds":{"left":0.24479167,"top":0.9111111,"width":0.07118055,"height":0.08888888},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sprint Review","depth":15,"bounds":{"left":0.24479167,"top":0.9444444,"width":0.07118055,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
2254013776784194979
|
-7302073531309993277
|
click
|
accessibility
|
NULL
|
Meet - Sprint Review
Mute tab
Meet - Sprint Review Meet - Sprint Review
Mute tab
Meet - Sprint Review
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
External participants joined
External participants joined
People
15
Gemini
Gemini
Gabriela Dureva
Greg Moser
Adelina Petrova
Jiminny Notetaker
Iliyana Netseva
Lauren Hudson
Calum Scott
User profile picture User profile picture 7 others
7 others
Others might still see your full video.
4:00
PM
Sprint Review
Sprint Review...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35778
|
1334
|
4
|
2026-05-13T13:01:07.063702+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677267063_m2.jpg...
|
Firefox
|
Meet - Sprint Review — Work
|
1
|
meet.google.com/apk-dhog-imj?authuser=lukas.kovali meet.google.com/apk-dhog-imj?authuser=lukas.kovalik%40jiminny.com...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Sprint Review
Close tab
New Tab
Open Google Meet - Sprint Review
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
External participants joined
External participants joined
People
15
Gemini
Gemini
Pin Gabriela Dureva to your main screen
You can't unmute someone else
More options for Gabriela Dureva
Gabriela Dureva
Pin Greg Moser to your main screen
Mute Greg Moser's microphone
More options for Greg Moser
Greg Moser
Pin Adelina Petrova to your main screen
Mute Adelina Petrova's microphone
More options for Adelina Petrova
Adelina Petrova
Pin Jiminny Notetaker to your main screen
You can't unmute someone else
More options for Jiminny Notetaker
Jiminny Notetaker
Pin Iliyana Netseva to your main screen
You can't unmute someone else
More options for Iliyana Netseva
Iliyana Netseva
Pin Lauren Hudson to your main screen
You can't unmute someone else
More options for Lauren Hudson
Lauren Hudson
Pin Stoyan Tomov to your main screen
You can't unmute someone else
More options for Stoyan Tomov
Stoyan Tomov
User profile picture User profile picture 8 others
8 others
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Others might still see your full video.
4:01...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Sprint Review","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.016123671,"height":-0.051875472},"on_screen":true,"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.27094415,"top":1.0,"width":0.004986702,"height":-0.051875472},"on_screen":true,"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.27310506,"top":1.0,"width":0.010638298,"height":-0.086193085},"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"External participants joined","depth":15,"bounds":{"left":0.63264626,"top":1.0,"width":0.072307184,"height":-0.05786109},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"External participants joined","depth":22,"bounds":{"left":0.6499335,"top":1.0,"width":0.051030584,"height":-0.071029544},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"People","depth":15,"bounds":{"left":0.70761305,"top":1.0,"width":0.02144282,"height":-0.06264961},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"15","depth":22,"bounds":{"left":0.7209109,"top":1.0,"width":0.004155585,"height":-0.071029544},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":17,"bounds":{"left":0.7330452,"top":1.0,"width":0.013464096,"height":-0.071029544},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":17,"bounds":{"left":0.73204786,"top":1.0,"width":0.011303191,"height":-0.063447714},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pin Gabriela Dureva to your main screen","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Gabriela Dureva","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Gabriela Dureva","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Greg Moser to your main screen","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Greg Moser's microphone","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Greg Moser","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Greg Moser","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Adelina Petrova to your main screen","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Adelina Petrova's microphone","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Adelina Petrova","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Adelina Petrova","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Jiminny Notetaker to your main screen","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Jiminny Notetaker","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Jiminny Notetaker","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Iliyana Netseva to your main screen","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Iliyana Netseva","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Iliyana Netseva","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Lauren Hudson to your main screen","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lauren Hudson","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lauren Hudson","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Stoyan Tomov to your main screen","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Stoyan Tomov","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Stoyan Tomov","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"User profile picture User profile picture 8 others","depth":11,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"8 others","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"You’re continuously framed","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Backgrounds and effects","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lukas Kovalik","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Others might still see your full video.","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4:01","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5236287390256567245
|
-9169081212546066240
|
click
|
hybrid
|
NULL
|
Meet - Sprint Review
Close tab
New Tab
Open Google Meet - Sprint Review
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
External participants joined
External participants joined
People
15
Gemini
Gemini
Pin Gabriela Dureva to your main screen
You can't unmute someone else
More options for Gabriela Dureva
Gabriela Dureva
Pin Greg Moser to your main screen
Mute Greg Moser's microphone
More options for Greg Moser
Greg Moser
Pin Adelina Petrova to your main screen
Mute Adelina Petrova's microphone
More options for Adelina Petrova
Adelina Petrova
Pin Jiminny Notetaker to your main screen
You can't unmute someone else
More options for Jiminny Notetaker
Jiminny Notetaker
Pin Iliyana Netseva to your main screen
You can't unmute someone else
More options for Iliyana Netseva
Iliyana Netseva
Pin Lauren Hudson to your main screen
You can't unmute someone else
More options for Lauren Hudson
Lauren Hudson
Pin Stoyan Tomov to your main screen
You can't unmute someone else
More options for Stoyan Tomov
Stoyan Tomov
User profile picture User profile picture 8 others
8 others
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Others might still see your full video.
4:01
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35776
|
NULL
|
NULL
|
NULL
|
|
35777
|
1333
|
4
|
2026-05-13T13:01:07.081600+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677267081_m1.jpg...
|
Firefox
|
Meet - Sprint Review — Work
|
1
|
meet.google.com/apk-dhog-imj?authuser=lukas.kovali meet.google.com/apk-dhog-imj?authuser=lukas.kovalik%40jiminny.com...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Sprint Review
Close tab
New Tab
Open Google Meet - Sprint Review
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
External participants joined
External participants joined
People
15
Gemini
Gemini
Pin Gabriela Dureva to your main screen
You can't unmute someone else
More options for Gabriela Dureva
Gabriela Dureva
Pin Greg Moser to your main screen
Mute Greg Moser's microphone
More options for Greg Moser
Greg Moser
Pin Adelina Petrova to your main screen
Mute Adelina Petrova's microphone
More options for Adelina Petrova
Adelina Petrova
Pin Jiminny Notetaker to your main screen
You can't unmute someone else
More options for Jiminny Notetaker
Jiminny Notetaker
Pin Iliyana Netseva to your main screen
You can't unmute someone else
More options for Iliyana Netseva
Iliyana Netseva
Pin Lauren Hudson to your main screen
You can't unmute someone else
More options for Lauren Hudson
Lauren Hudson
Pin Stoyan Tomov to your main screen
You can't unmute someone else
More options for Stoyan Tomov
Stoyan Tomov
User profile picture User profile picture 8 others
8 others
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Others might still see your full video.
4:01...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Sprint Review","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.033680554,"height":0.045555554},"on_screen":true,"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.0013888889,"top":0.072222225,"width":0.010416667,"height":0.016666668},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.022222223,"height":0.035555556},"on_screen":true,"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,"bounds":{"left":0.0,"top":0.7977778,"width":0.033680554,"height":0.043333333},"on_screen":true,"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.0,"top":0.8411111,"width":0.033680554,"height":0.038333334},"on_screen":true,"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.8794444,"width":0.033680554,"height":0.03888889},"on_screen":true,"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.91833335,"width":0.033680554,"height":0.038333334},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0,"top":0.95666665,"width":0.033680554,"height":0.043333333},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"External participants joined","depth":15,"bounds":{"left":0.7569444,"top":0.08055556,"width":0.15104167,"height":0.053333335},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"External participants joined","depth":22,"bounds":{"left":0.79305553,"top":0.09888889,"width":0.10659722,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"People","depth":15,"bounds":{"left":0.9135417,"top":0.08722222,"width":0.044791665,"height":0.04},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"15","depth":22,"bounds":{"left":0.94131947,"top":0.09888889,"width":0.008680556,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":17,"bounds":{"left":0.96666664,"top":0.09888889,"width":0.028125,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":17,"bounds":{"left":0.96458334,"top":0.08833333,"width":0.023611112,"height":0.037777778},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pin Gabriela Dureva to your main screen","depth":13,"bounds":{"left":0.08923611,"top":0.31944445,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.11701389,"top":0.3172222,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Gabriela Dureva","depth":13,"bounds":{"left":0.14756945,"top":0.31944445,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Gabriela Dureva","depth":17,"bounds":{"left":0.057291668,"top":0.48277777,"width":0.08298611,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Greg Moser to your main screen","depth":13,"bounds":{"left":0.26944444,"top":0.31944445,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Greg Moser's microphone","depth":13,"bounds":{"left":0.29722223,"top":0.3172222,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Greg Moser","depth":13,"bounds":{"left":0.32777777,"top":0.31944445,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Greg Moser","depth":17,"bounds":{"left":0.23784722,"top":0.48277777,"width":0.061458334,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Adelina Petrova to your main screen","depth":13,"bounds":{"left":0.4496528,"top":0.31944445,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Adelina Petrova's microphone","depth":13,"bounds":{"left":0.47743055,"top":0.3172222,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Adelina Petrova","depth":13,"bounds":{"left":0.5079861,"top":0.31944445,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Adelina Petrova","depth":17,"bounds":{"left":0.41770834,"top":0.48277777,"width":0.08055556,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Jiminny Notetaker to your main screen","depth":13,"bounds":{"left":0.7447917,"top":0.31944445,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.7725694,"top":0.3172222,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Jiminny Notetaker","depth":13,"bounds":{"left":0.803125,"top":0.31944445,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Jiminny Notetaker","depth":17,"bounds":{"left":0.59826386,"top":0.48277777,"width":0.09409722,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Iliyana Netseva to your main screen","depth":13,"bounds":{"left":0.09409722,"top":0.6938889,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.121875,"top":0.69166666,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Iliyana Netseva","depth":13,"bounds":{"left":0.15243055,"top":0.6938889,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Iliyana Netseva","depth":17,"bounds":{"left":0.057291668,"top":0.8572222,"width":0.077083334,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Lauren Hudson to your main screen","depth":13,"bounds":{"left":0.284375,"top":0.6938889,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.31215277,"top":0.69166666,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lauren Hudson","depth":13,"bounds":{"left":0.34270832,"top":0.6938889,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lauren Hudson","depth":17,"bounds":{"left":0.24756944,"top":0.8572222,"width":0.077430554,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Stoyan Tomov to your main screen","depth":13,"bounds":{"left":0.47430557,"top":0.6938889,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.50208336,"top":0.69166666,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Stoyan Tomov","depth":13,"bounds":{"left":0.5326389,"top":0.6938889,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Stoyan Tomov","depth":17,"bounds":{"left":0.43784723,"top":0.8572222,"width":0.071875,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"User profile picture User profile picture 8 others","depth":11,"bounds":{"left":0.6163194,"top":0.53555554,"width":0.18194444,"height":0.3611111},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"8 others","depth":13,"bounds":{"left":0.6861111,"top":0.7594444,"width":0.04236111,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"You’re continuously framed","depth":13,"bounds":{"left":0.853125,"top":0.69166666,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Backgrounds and effects","depth":13,"bounds":{"left":0.8836806,"top":0.69166666,"width":0.030555556,"height":0.04888889},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lukas Kovalik","depth":13,"bounds":{"left":0.9142361,"top":0.6938889,"width":0.027777778,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Others might still see your full video.","depth":16,"bounds":{"left":0.82604164,"top":0.8577778,"width":0.14305556,"height":0.017222222},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4:01","depth":12,"bounds":{"left":0.050347224,"top":0.9444444,"width":0.022222223,"height":0.022777777},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5236287390256567245
|
-9169081212546066240
|
click
|
hybrid
|
NULL
|
Meet - Sprint Review
Close tab
New Tab
Open Google Meet - Sprint Review
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
External participants joined
External participants joined
People
15
Gemini
Gemini
Pin Gabriela Dureva to your main screen
You can't unmute someone else
More options for Gabriela Dureva
Gabriela Dureva
Pin Greg Moser to your main screen
Mute Greg Moser's microphone
More options for Greg Moser
Greg Moser
Pin Adelina Petrova to your main screen
Mute Adelina Petrova's microphone
More options for Adelina Petrova
Adelina Petrova
Pin Jiminny Notetaker to your main screen
You can't unmute someone else
More options for Jiminny Notetaker
Jiminny Notetaker
Pin Iliyana Netseva to your main screen
You can't unmute someone else
More options for Iliyana Netseva
Iliyana Netseva
Pin Lauren Hudson to your main screen
You can't unmute someone else
More options for Lauren Hudson
Lauren Hudson
Pin Stoyan Tomov to your main screen
You can't unmute someone else
More options for Stoyan Tomov
Stoyan Tomov
User profile picture User profile picture 8 others
8 others
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Others might still see your full video.
4:01
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35775
|
NULL
|
NULL
|
NULL
|
|
35779
|
1333
|
5
|
2026-05-13T13:01:37.991346+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677297991_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6388426169952851124
|
2072500115544178301
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 11226);
select * from activity_summary_logs where activity_id = 608874;
select * from sidekick_settings;
select * from default_activity_types;
select * from crm_field_data where activity_id = 1223;
select * from crm_layouts where crm_configuration_id = 2;
SELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);
select * from crm_fields where crm_configuration_id = 11 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);
SELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;
SELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);
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 = 2 and sa.provider = 'hubspot';
select * from social_accounts where id = 1499;
select * from opportunities where team_id = 2
and crm_provider_id IN ('51317301383');
select * from contacts where id = 85;
select * from opportunities where team_id = 2 order by id desc;
select * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112
select * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112
select * from opportunity_contacts where opportunity_id = 5117;
select * from crm_field_data where object_id = 1365;
SELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);
select * from features;
select * from team_features where team_id IN (1);
select * from team_features where feature_id IN (36);
SHOW CREATE TABLE opportunity_contacts;
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';
# $slug = 'HUBSPOT_WEBHOOK_SYNC';
# $team = Jiminny\Models\Team::find(2);
# $feature = Feature::query()->where('slug', $slug)->first();
# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);
# hubspot_webhook_metrics
select * from opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365
SELECT * FROM opportunity_contacts WHERE opportunity_id = '414';
SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';
select * from contacts where id in (414, 464);
select * from activities where crm_configuration_id = 2;
select settings from crm_configurations where id = 11;
select * from teams; # 1, 2
select * from users;
select * from crm_configurations where id = 39;
select * from team_features where team_id = 2;
select * from features;
# SELECT * FROM opportunities WHERE crm_configuration_id = 2
# order by id desc;
# and crm_provider_id = '49908861993';
select * from activity_providers where id IN (443, 202, 203, 227);
select * from activity_imports where id = 795889;
select c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id
where c.provider = 'hubspot';
select * from crm_configurations crm JOIN teams t on crm.team_id = t.id
where provider = 'hubspot';
SELECT * FROM teams WHERE id = 31;
SELECT * FROM users WHERE id = 257;
SELECT * FROM opportunities WHERE team_id = 2;
select * from opportunity_contacts where opportunity_id = 5124;
select * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)
select * from activities where crm_configuration_id = 13;
SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141
select id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;
SELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;
SELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;
SELECT * FROM contacts WHERE team_id = 2 order by id desc;
select * from opportunity_contacts where contact_id = 6223;
SELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;
select * from crm_profiles where crm_configuration_id = 2;
select * from activities where account_id = 46;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35780
|
1334
|
5
|
2026-05-13T13:01:41.108747+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677301108_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7155919215002296247
|
-8132367147797869630
|
idle
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35781
|
1334
|
6
|
2026-05-13T13:01:45.113158+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677305113_m2.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
1837425836067260207
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35780
|
NULL
|
NULL
|
NULL
|
|
35782
|
1333
|
6
|
2026-05-13T13:01:45.159635+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677305159_m1.jpg...
|
PhpStorm
|
faVsco.js – HS_local [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry 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 ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35779
|
NULL
|
NULL
|
NULL
|
|
35783
|
1333
|
7
|
2026-05-13T13:02:07.600066+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677327600_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Schedule","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Schedule","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Invite Notetaker","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"This Week","depth":14,"on_screen":true,"value":"This Week","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"This Week","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Team Schedule","depth":14,"on_screen":true,"value":"Team Schedule","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Team Schedule","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No Meetings","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Trending this month","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Trending this month","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Live Feed","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Live Feed","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shared in Slack","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:31 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"activity","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:26 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
335398868391499466
|
6376043680147056708
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35784
|
1334
|
7
|
2026-05-13T13:02:07.603761+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677327603_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.3575419,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.61931366,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.70630485,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.71747804,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.7134876,"width":0.007978723,"height":0.01915403},"on_screen":true,"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.7406225,"width":0.07413564,"height":0.025538707},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"bounds":{"left":0.118351065,"top":0.07182761,"width":0.039893616,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"bounds":{"left":0.12101064,"top":0.0905826,"width":0.034574468,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"bounds":{"left":0.15824468,"top":0.07182761,"width":0.044714097,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"bounds":{"left":0.16090426,"top":0.0905826,"width":0.03939495,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"bounds":{"left":0.20295878,"top":0.07182761,"width":0.057513297,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"bounds":{"left":0.20561835,"top":0.0905826,"width":0.05219415,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Schedule","depth":13,"bounds":{"left":0.27460107,"top":0.2482043,"width":0.029421542,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Schedule","depth":14,"bounds":{"left":0.27460107,"top":0.25019953,"width":0.029421542,"height":0.021548284},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Invite Notetaker","depth":14,"bounds":{"left":0.38746676,"top":0.24581006,"width":0.044215426,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"This Week","depth":14,"bounds":{"left":0.27958778,"top":0.29369512,"width":0.07197473,"height":0.02952913},"on_screen":true,"value":"This Week","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"This Week","depth":17,"bounds":{"left":0.28324467,"top":0.30167598,"width":0.021775266,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Team Schedule","depth":14,"bounds":{"left":0.35488698,"top":0.29369512,"width":0.07180851,"height":0.02952913},"on_screen":true,"value":"Team Schedule","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Team Schedule","depth":17,"bounds":{"left":0.35854387,"top":0.30167598,"width":0.030751329,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No Meetings","depth":16,"bounds":{"left":0.33992687,"top":0.67996806,"width":0.02642952,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Trending this month","depth":13,"bounds":{"left":0.27958778,"top":0.08858739,"width":0.04637633,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Trending this month","depth":14,"bounds":{"left":0.27958778,"top":0.0905826,"width":0.04637633,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Live Feed","depth":13,"bounds":{"left":0.44331783,"top":0.08858739,"width":0.021775266,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Live Feed","depth":14,"bounds":{"left":0.44331783,"top":0.0905826,"width":0.021775266,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":20,"bounds":{"left":0.44498006,"top":0.14046289,"width":0.016954787,"height":0.044293694},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":18,"bounds":{"left":0.46492687,"top":0.14086193,"width":0.03374335,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shared in Slack","depth":18,"bounds":{"left":0.5003325,"top":0.14086193,"width":0.030086435,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:31 PM","depth":18,"bounds":{"left":0.46492687,"top":0.15482841,"width":0.043550532,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"activity","depth":18,"bounds":{"left":0.46492687,"top":0.18515563,"width":0.015791224,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"bounds":{"left":0.4815492,"top":0.18515563,"width":0.009142287,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe","depth":18,"bounds":{"left":0.4915226,"top":0.18515563,"width":0.035405584,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"bounds":{"left":0.47257313,"top":0.22266561,"width":0.010305851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:26 PM","depth":18,"bounds":{"left":0.48354387,"top":0.22266561,"width":0.04055851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"bounds":{"left":0.55851066,"top":0.22266561,"width":0.01861702,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2m","depth":18,"bounds":{"left":0.5777925,"top":0.22266561,"width":0.005984043,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Value:","depth":18,"bounds":{"left":0.47257313,"top":0.23942538,"width":0.012134309,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$10,001","depth":18,"bounds":{"left":0.48537233,"top":0.23942538,"width":0.015957447,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":20,"bounds":{"left":0.44498006,"top":0.28411812,"width":0.020279255,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5285916415244321979
|
6376043542708103236
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35786
|
1334
|
8
|
2026-05-13T13:02:09.477521+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677329477_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.3575419,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-7966005767999711574
|
6376626284007467605
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny...
|
35784
|
NULL
|
NULL
|
NULL
|
|
35785
|
1333
|
8
|
2026-05-13T13:02:09.490321+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677329490_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-1353959822611602701
|
6376626284007467605
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny...
|
35783
|
NULL
|
NULL
|
NULL
|
|
35788
|
1334
|
9
|
2026-05-13T13:02:13.315829+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677333315_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov
Mihail Mihaylov
listened to call
3 Dec, 2024, 12:46 PM
Discovery Call
with
Ema
Held:
22 Nov, 2024, 2:31 PM
Duration:
4m
Value:
$90,000
Kaloyan Nikolov
Kaloyan Nikolov
listened to call
3 Dec, 2024, 12:41 PM
Discovery Call
with
Ema...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.3575419,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.61931366,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.70630485,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.71747804,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.7134876,"width":0.007978723,"height":0.01915403},"on_screen":true,"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.7406225,"width":0.07413564,"height":0.025538707},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"bounds":{"left":0.118351065,"top":0.07182761,"width":0.039893616,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"bounds":{"left":0.12101064,"top":0.0905826,"width":0.034574468,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"bounds":{"left":0.15824468,"top":0.07182761,"width":0.044714097,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"bounds":{"left":0.16090426,"top":0.0905826,"width":0.03939495,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"bounds":{"left":0.20295878,"top":0.07182761,"width":0.057513297,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"bounds":{"left":0.20561835,"top":0.0905826,"width":0.05219415,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Schedule","depth":13,"bounds":{"left":0.27460107,"top":0.2482043,"width":0.029421542,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Schedule","depth":14,"bounds":{"left":0.27460107,"top":0.25019953,"width":0.029421542,"height":0.021548284},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Invite Notetaker","depth":14,"bounds":{"left":0.38746676,"top":0.24581006,"width":0.044215426,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"This Week","depth":14,"bounds":{"left":0.27958778,"top":0.29369512,"width":0.07197473,"height":0.02952913},"on_screen":true,"value":"This Week","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"This Week","depth":17,"bounds":{"left":0.28324467,"top":0.30167598,"width":0.021775266,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Team Schedule","depth":14,"bounds":{"left":0.35488698,"top":0.29369512,"width":0.07180851,"height":0.02952913},"on_screen":true,"value":"Team Schedule","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Team Schedule","depth":17,"bounds":{"left":0.35854387,"top":0.30167598,"width":0.030751329,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No Meetings","depth":16,"bounds":{"left":0.33992687,"top":0.67996806,"width":0.02642952,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Trending this month","depth":13,"bounds":{"left":0.27958778,"top":0.08858739,"width":0.04637633,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Trending this month","depth":14,"bounds":{"left":0.27958778,"top":0.0905826,"width":0.04637633,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Live Feed","depth":13,"bounds":{"left":0.44331783,"top":0.08858739,"width":0.021775266,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Live Feed","depth":14,"bounds":{"left":0.44331783,"top":0.0905826,"width":0.021775266,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":20,"bounds":{"left":0.44498006,"top":0.14046289,"width":0.016954787,"height":0.044293694},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":18,"bounds":{"left":0.46492687,"top":0.14086193,"width":0.03374335,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shared in Slack","depth":18,"bounds":{"left":0.5003325,"top":0.14086193,"width":0.030086435,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:31 PM","depth":18,"bounds":{"left":0.46492687,"top":0.15482841,"width":0.043550532,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"activity","depth":18,"bounds":{"left":0.46492687,"top":0.18515563,"width":0.015791224,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"bounds":{"left":0.4815492,"top":0.18515563,"width":0.009142287,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe","depth":18,"bounds":{"left":0.4915226,"top":0.18515563,"width":0.035405584,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"bounds":{"left":0.47257313,"top":0.22266561,"width":0.010305851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:26 PM","depth":18,"bounds":{"left":0.48354387,"top":0.22266561,"width":0.04055851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"bounds":{"left":0.55851066,"top":0.22266561,"width":0.01861702,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2m","depth":18,"bounds":{"left":0.5777925,"top":0.22266561,"width":0.005984043,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Value:","depth":18,"bounds":{"left":0.47257313,"top":0.23942538,"width":0.012134309,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$10,001","depth":18,"bounds":{"left":0.48537233,"top":0.23942538,"width":0.015957447,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":20,"bounds":{"left":0.44498006,"top":0.28411812,"width":0.020279255,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":18,"bounds":{"left":0.46492687,"top":0.28451717,"width":0.03357713,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"listened to call","depth":18,"bounds":{"left":0.50016624,"top":0.28451717,"width":0.029089095,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3 Dec, 2024, 12:46 PM","depth":18,"bounds":{"left":0.46492687,"top":0.29848364,"width":0.046210106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Discovery Call","depth":18,"bounds":{"left":0.46492687,"top":0.32881084,"width":0.029753989,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"bounds":{"left":0.4956782,"top":0.32881084,"width":0.008976064,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ema","depth":18,"bounds":{"left":0.5056516,"top":0.32881084,"width":0.008976064,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"bounds":{"left":0.47257313,"top":0.36632082,"width":0.010305851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22 Nov, 2024, 2:31 PM","depth":18,"bounds":{"left":0.48354387,"top":0.36632082,"width":0.04305186,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"bounds":{"left":0.55851066,"top":0.36632082,"width":0.01861702,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4m","depth":18,"bounds":{"left":0.5777925,"top":0.36632082,"width":0.005984043,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Value:","depth":18,"bounds":{"left":0.47257313,"top":0.3830806,"width":0.012134309,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$90,000","depth":18,"bounds":{"left":0.48537233,"top":0.3830806,"width":0.015957447,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Kaloyan Nikolov","depth":20,"bounds":{"left":0.44498006,"top":0.42777336,"width":0.017952127,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Kaloyan Nikolov","depth":18,"bounds":{"left":0.46492687,"top":0.42817238,"width":0.034242023,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"listened to call","depth":18,"bounds":{"left":0.5008311,"top":0.42817238,"width":0.029089095,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3 Dec, 2024, 12:41 PM","depth":18,"bounds":{"left":0.46492687,"top":0.44213888,"width":0.046210106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Discovery Call","depth":18,"bounds":{"left":0.46492687,"top":0.47246608,"width":0.029753989,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"bounds":{"left":0.4956782,"top":0.47246608,"width":0.008976064,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ema","depth":18,"bounds":{"left":0.5056516,"top":0.47246608,"width":0.008976064,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
5200291668416125323
|
6376044779796965440
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov
Mihail Mihaylov
listened to call
3 Dec, 2024, 12:46 PM
Discovery Call
with
Ema
Held:
22 Nov, 2024, 2:31 PM
Duration:
4m
Value:
$90,000
Kaloyan Nikolov
Kaloyan Nikolov
listened to call
3 Dec, 2024, 12:41 PM
Discovery Call
with
Ema...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35787
|
1333
|
9
|
2026-05-13T13:02:13.315868+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677333315_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov
Mihail Mihaylov
listened to call
3 Dec, 2024, 12:46 PM...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Schedule","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Schedule","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Invite Notetaker","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"This Week","depth":14,"on_screen":true,"value":"This Week","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"This Week","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Team Schedule","depth":14,"on_screen":true,"value":"Team Schedule","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Team Schedule","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No Meetings","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Trending this month","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Trending this month","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Live Feed","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Live Feed","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shared in Slack","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:31 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"activity","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:26 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2m","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Value:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$10,001","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"listened to call","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3 Dec, 2024, 12:46 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
5190385884279403300
|
6376043680151251012
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov
Mihail Mihaylov
listened to call
3 Dec, 2024, 12:46 PM...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35789
|
1333
|
10
|
2026-05-13T13:02:18.529320+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677338529_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov
Mihail Mihaylov
listened to call
3 Dec, 2024, 12:46 PM
Discovery Call
with
Ema
Held:
22 Nov, 2024, 2:31 PM
Duration:
4m
Value:...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Schedule","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Schedule","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Invite Notetaker","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"This Week","depth":14,"on_screen":true,"value":"This Week","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"This Week","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Team Schedule","depth":14,"on_screen":true,"value":"Team Schedule","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Team Schedule","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No Meetings","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Trending this month","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Trending this month","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Live Feed","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Live Feed","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shared in Slack","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:31 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"activity","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:26 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2m","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Value:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$10,001","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"listened to call","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3 Dec, 2024, 12:46 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Discovery Call","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ema","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22 Nov, 2024, 2:31 PM","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4m","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Value:","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
6713707504789817943
|
6376043682298734660
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov
Mihail Mihaylov
listened to call
3 Dec, 2024, 12:46 PM
Discovery Call
with
Ema
Held:
22 Nov, 2024, 2:31 PM
Duration:
4m
Value:...
|
35787
|
NULL
|
NULL
|
NULL
|
|
35790
|
1334
|
10
|
2026-05-13T13:02:18.529333+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778677338529_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov
Mihail Mihaylov
listened to call
3 Dec, 2024, 12:46 PM
Discovery Call
with
Ema
Held:
22 Nov, 2024, 2:31 PM
Duration:
4m...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.3575419,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.013297873,"top":0.61931366,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.70630485,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.71747804,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.7134876,"width":0.007978723,"height":0.01915403},"on_screen":true,"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.7406225,"width":0.07413564,"height":0.025538707},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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},"on_screen":true,"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.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"bounds":{"left":0.118351065,"top":0.07182761,"width":0.039893616,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"bounds":{"left":0.12101064,"top":0.0905826,"width":0.034574468,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"bounds":{"left":0.15824468,"top":0.07182761,"width":0.044714097,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"bounds":{"left":0.16090426,"top":0.0905826,"width":0.03939495,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"bounds":{"left":0.20295878,"top":0.07182761,"width":0.057513297,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"bounds":{"left":0.20561835,"top":0.0905826,"width":0.05219415,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Schedule","depth":13,"bounds":{"left":0.27460107,"top":0.2482043,"width":0.029421542,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Schedule","depth":14,"bounds":{"left":0.27460107,"top":0.25019953,"width":0.029421542,"height":0.021548284},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Invite Notetaker","depth":14,"bounds":{"left":0.38746676,"top":0.24581006,"width":0.044215426,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"This Week","depth":14,"bounds":{"left":0.27958778,"top":0.29369512,"width":0.07197473,"height":0.02952913},"on_screen":true,"value":"This Week","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"This Week","depth":17,"bounds":{"left":0.28324467,"top":0.30167598,"width":0.021775266,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Team Schedule","depth":14,"bounds":{"left":0.35488698,"top":0.29369512,"width":0.07180851,"height":0.02952913},"on_screen":true,"value":"Team Schedule","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Team Schedule","depth":17,"bounds":{"left":0.35854387,"top":0.30167598,"width":0.030751329,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No Meetings","depth":16,"bounds":{"left":0.33992687,"top":0.67996806,"width":0.02642952,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Trending this month","depth":13,"bounds":{"left":0.27958778,"top":0.08858739,"width":0.04637633,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Trending this month","depth":14,"bounds":{"left":0.27958778,"top":0.0905826,"width":0.04637633,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Live Feed","depth":13,"bounds":{"left":0.44331783,"top":0.08858739,"width":0.021775266,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Live Feed","depth":14,"bounds":{"left":0.44331783,"top":0.0905826,"width":0.021775266,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":20,"bounds":{"left":0.44498006,"top":0.14046289,"width":0.016954787,"height":0.044293694},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny Web SA","depth":18,"bounds":{"left":0.46492687,"top":0.14086193,"width":0.03374335,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shared in Slack","depth":18,"bounds":{"left":0.5003325,"top":0.14086193,"width":0.030086435,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:31 PM","depth":18,"bounds":{"left":0.46492687,"top":0.15482841,"width":0.043550532,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"activity","depth":18,"bounds":{"left":0.46492687,"top":0.18515563,"width":0.015791224,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"bounds":{"left":0.4815492,"top":0.18515563,"width":0.009142287,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe","depth":18,"bounds":{"left":0.4915226,"top":0.18515563,"width":0.035405584,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"bounds":{"left":0.47257313,"top":0.22266561,"width":0.010305851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 Dec, 2024, 7:26 PM","depth":18,"bounds":{"left":0.48354387,"top":0.22266561,"width":0.04055851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"bounds":{"left":0.55851066,"top":0.22266561,"width":0.01861702,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2m","depth":18,"bounds":{"left":0.5777925,"top":0.22266561,"width":0.005984043,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Value:","depth":18,"bounds":{"left":0.47257313,"top":0.23942538,"width":0.012134309,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$10,001","depth":18,"bounds":{"left":0.48537233,"top":0.23942538,"width":0.015957447,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":20,"bounds":{"left":0.44498006,"top":0.28411812,"width":0.020279255,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mihail Mihaylov","depth":18,"bounds":{"left":0.46492687,"top":0.28451717,"width":0.03357713,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"listened to call","depth":18,"bounds":{"left":0.50016624,"top":0.28451717,"width":0.029089095,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3 Dec, 2024, 12:46 PM","depth":18,"bounds":{"left":0.46492687,"top":0.29848364,"width":0.046210106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Discovery Call","depth":18,"bounds":{"left":0.46492687,"top":0.32881084,"width":0.029753989,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":18,"bounds":{"left":0.4956782,"top":0.32881084,"width":0.008976064,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ema","depth":18,"bounds":{"left":0.5056516,"top":0.32881084,"width":0.008976064,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Held:","depth":18,"bounds":{"left":0.47257313,"top":0.36632082,"width":0.010305851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22 Nov, 2024, 2:31 PM","depth":18,"bounds":{"left":0.48354387,"top":0.36632082,"width":0.04305186,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Duration:","depth":18,"bounds":{"left":0.55851066,"top":0.36632082,"width":0.01861702,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4m","depth":18,"bounds":{"left":0.5777925,"top":0.36632082,"width":0.005984043,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-1542940536691219056
|
6376043682298734656
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
New Tab
New Tab
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Live Feed
Live Feed
Jiminny Web SA
Jiminny Web SA
shared in Slack
5 Dec, 2024, 7:31 PM
activity
with
Robinson Crusoe
Held:
5 Dec, 2024, 7:26 PM
Duration:
2m
Value:
$10,001
Mihail Mihaylov
Mihail Mihaylov
listened to call
3 Dec, 2024, 12:46 PM
Discovery Call
with
Ema
Held:
22 Nov, 2024, 2:31 PM
Duration:
4m...
|
35788
|
NULL
|
NULL
|
NULL
|