|
58866
|
2095
|
3
|
2026-05-19T13:44:19.184954+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198259184_m2.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeTOOISmelpFV faVsco.js°9 J PhostormVIewINavicarecodeTOOISmelpFV faVsco.js°9 JY-20915-add-domain-specifiroledeyC WebhookController.pnpCreateReceivedNotification.phpcustom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euy@ Role.pho(C) RolechandeEvent.oho© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpNouricatons//smskecelvea.onpx© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.phpA console [STAGING)c) Irack.phpc) IranscriptionmodelLocale.ohoc) User.phpc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC) VoiceConsentPrefix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.php@ NotifvContributor.ohn© ParticipantDeclinedRecording.php(C) PreMeetinaReminder.ohoSmsReceived.phpM ActivitvDrovidersM AlAutomationM Calendarcm ChannelsD Crm0 MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© ActivitvLiveCoachingNote.phpC) ActivitvMentioned.ohp(C) ActivitvNotloqged.ohoC) ActivitvScheduled.ohoC) ActivitvScored.oho(C) CoachRequested.ohoC) NewCustomerApiToken.ohoTx: AutovSo jiminny vclass smskecervea excenas Nouiricacion Inolements snoulauueue46 ^ Y 663041 A1 A40 V65 ^SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuidpublic tunction via(Snotitlable: array666 Vreturn 'mant'— 669678Try to pull in the corresponding outbound message for this.* @return lillumanatelbatabaselEloquent/modeunuobiectlstaticlusageprivate function getOutboundActivityO— 676return Activity::where(['type' => Activity::TYPE_SMS_OUTBOUND"user_1d = schis->aculvity-user.1o,]) ->whereHas( relation;function (Squery) {squery->wnere column."onone nunber"Sthis->activity->from->phone_number):})->orderBy( column: 'actual start time')->latest->firstO:680681Д682685686* Get the mazl representation of the notitication.687maxedsnotirzable688L 689690public function toMail(Snotifiable): Mailable691692// From should appear consistent with the number for conversation chaining in email client.$from = ltrim(sthis->activity->from->phone_number, characters'+'D5sto e ltrim(sthis->activitv->to->nhone number.characters: '+')693694695696// The message format is always "sender.recipient"Smailhox = StoHashids.encode(Sthis->activitv->id697698699neturninew SmsMailahle(Sthis-sactivitv. Sthis->aet0uthoundActivitvonbl->to(Snotifiahle->emailbl701->from( address: $from • '@' • config( key: 'jiminny-google_text_host'), Sthis-›activity->prospect,en-›replyTo( address: Smailbox . '@' . config( key: 'jiminny.google_text_host'), $this-›activity->pr703705706707select * from text_relays where created_at > '2026-01-01':and id IN (32415, 32416):# and id = 32412:select * from users where team 1d = 2 and emall l1ke "%scott% and 1d = 29510*SELE * FROMIactivities WHERE uvid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text relavsWHERE email_provider_id IN ('19e2027868a64b42','19e2033ed8ea6b10')1GROUP BY email orovider id:SELECT id, status, telephony_provider_id, created_atSROM activitiesWHERE id IN (80028719, 80028846):SELECT id, status, code, email_sent_at, created_at, updated_atFROM text_relaysWHERF id TN 32415 32416)SELECT id, status,code, sender, recipient, created_atFROM text_relaysWHERE sender LIKE "%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'npnsp py cnontod o+ nechLIMIT 10:SELECT id, vuid, status, code, sender, recipient, created at, updated atFROM text relaysWHERE vuid = uuid_ to_ bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):# [PASSWORD_DOTS]SELECT DISTINCT u.id, u.email, u.name, u.softphone number. COUNT(a,id) as sms countFROM users uINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE a.tvoe LIKEAND a.created at > DATE SUB(NOW(). INTERVAL 30 DAY)croup Ry u.id. u.emai, u.name. Usoftnhone numbenORDER RY sms count pesclselect * from teams whene id = 11splect * from noles,100% 5lue 19 May 16.44:10AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..• Prospect sends SMs to Jiminny user's sortphone numberTwilio webhook hits WebhookController:: receive()•Activity created with type TYPE SMS INBOUND• Received event fired (line 88)createRece1vedNot1t1cation listener sends email to usePhase 2: Email NotificationSmsReceived notification sends email usina sms-received. blade. oho temolateEmail includes the message content and "To send a message back, just reply to this email."• Critical: The emall nas a soecial replvto address:fh ohr• config("jiminny-google_text_host'))// Format: {to_number).{fromnoery.tencoded_acervety_dorgextecmanny.conExample: 1234567890.0987654321.abc123xyzdtxt.11minny.comPhase 3: User Replies (Email → SMS)• User replies to the emai• Gmail receives reolv at catch-all address• Gmail Pub/Sub pushes notification to Jiminny• TextRelavService:: sunco tetches new emalls• EmailTextRelay job processes the reply:• Validates sender is the liminny uise•Parses recipient to extract: to number, from number, activity_id• Sends SMS via Twilio back to nrosnect•Creates TYPE SMS OUTBOUND activity3. Does Every SMS Go Through This Flow?Yes, every INBOUND SMS triggers this flowokController::receive (line 88:eventnew Received(sactivitv)This event fires for All inbound SMS The GreateReceivedNotification lictener ic redictered in FventServiceProviderOutbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viaTwilio without email relav.al .* Reiect allAccent alliAsk anvthina (884-L)« Code SWF-1.6WN Windsurf Teams10-26UTE.8Po 4 spaces...
|
NULL
|
5048575265663917871
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavicarecodeTOOISmelpFV faVsco.js°9 J PhostormVIewINavicarecodeTOOISmelpFV faVsco.js°9 JY-20915-add-domain-specifiroledeyC WebhookController.pnpCreateReceivedNotification.phpcustom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euy@ Role.pho(C) RolechandeEvent.oho© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpNouricatons//smskecelvea.onpx© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.phpA console [STAGING)c) Irack.phpc) IranscriptionmodelLocale.ohoc) User.phpc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC) VoiceConsentPrefix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.php@ NotifvContributor.ohn© ParticipantDeclinedRecording.php(C) PreMeetinaReminder.ohoSmsReceived.phpM ActivitvDrovidersM AlAutomationM Calendarcm ChannelsD Crm0 MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© ActivitvLiveCoachingNote.phpC) ActivitvMentioned.ohp(C) ActivitvNotloqged.ohoC) ActivitvScheduled.ohoC) ActivitvScored.oho(C) CoachRequested.ohoC) NewCustomerApiToken.ohoTx: AutovSo jiminny vclass smskecervea excenas Nouiricacion Inolements snoulauueue46 ^ Y 663041 A1 A40 V65 ^SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuidpublic tunction via(Snotitlable: array666 Vreturn 'mant'— 669678Try to pull in the corresponding outbound message for this.* @return lillumanatelbatabaselEloquent/modeunuobiectlstaticlusageprivate function getOutboundActivityO— 676return Activity::where(['type' => Activity::TYPE_SMS_OUTBOUND"user_1d = schis->aculvity-user.1o,]) ->whereHas( relation;function (Squery) {squery->wnere column."onone nunber"Sthis->activity->from->phone_number):})->orderBy( column: 'actual start time')->latest->firstO:680681Д682685686* Get the mazl representation of the notitication.687maxedsnotirzable688L 689690public function toMail(Snotifiable): Mailable691692// From should appear consistent with the number for conversation chaining in email client.$from = ltrim(sthis->activity->from->phone_number, characters'+'D5sto e ltrim(sthis->activitv->to->nhone number.characters: '+')693694695696// The message format is always "sender.recipient"Smailhox = StoHashids.encode(Sthis->activitv->id697698699neturninew SmsMailahle(Sthis-sactivitv. Sthis->aet0uthoundActivitvonbl->to(Snotifiahle->emailbl701->from( address: $from • '@' • config( key: 'jiminny-google_text_host'), Sthis-›activity->prospect,en-›replyTo( address: Smailbox . '@' . config( key: 'jiminny.google_text_host'), $this-›activity->pr703705706707select * from text_relays where created_at > '2026-01-01':and id IN (32415, 32416):# and id = 32412:select * from users where team 1d = 2 and emall l1ke "%scott% and 1d = 29510*SELE * FROMIactivities WHERE uvid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text relavsWHERE email_provider_id IN ('19e2027868a64b42','19e2033ed8ea6b10')1GROUP BY email orovider id:SELECT id, status, telephony_provider_id, created_atSROM activitiesWHERE id IN (80028719, 80028846):SELECT id, status, code, email_sent_at, created_at, updated_atFROM text_relaysWHERF id TN 32415 32416)SELECT id, status,code, sender, recipient, created_atFROM text_relaysWHERE sender LIKE "%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'npnsp py cnontod o+ nechLIMIT 10:SELECT id, vuid, status, code, sender, recipient, created at, updated atFROM text relaysWHERE vuid = uuid_ to_ bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):# [PASSWORD_DOTS]SELECT DISTINCT u.id, u.email, u.name, u.softphone number. COUNT(a,id) as sms countFROM users uINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE a.tvoe LIKEAND a.created at > DATE SUB(NOW(). INTERVAL 30 DAY)croup Ry u.id. u.emai, u.name. Usoftnhone numbenORDER RY sms count pesclselect * from teams whene id = 11splect * from noles,100% 5lue 19 May 16.44:10AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..• Prospect sends SMs to Jiminny user's sortphone numberTwilio webhook hits WebhookController:: receive()•Activity created with type TYPE SMS INBOUND• Received event fired (line 88)createRece1vedNot1t1cation listener sends email to usePhase 2: Email NotificationSmsReceived notification sends email usina sms-received. blade. oho temolateEmail includes the message content and "To send a message back, just reply to this email."• Critical: The emall nas a soecial replvto address:fh ohr• config("jiminny-google_text_host'))// Format: {to_number).{fromnoery.tencoded_acervety_dorgextecmanny.conExample: 1234567890.0987654321.abc123xyzdtxt.11minny.comPhase 3: User Replies (Email → SMS)• User replies to the emai• Gmail receives reolv at catch-all address• Gmail Pub/Sub pushes notification to Jiminny• TextRelavService:: sunco tetches new emalls• EmailTextRelay job processes the reply:• Validates sender is the liminny uise•Parses recipient to extract: to number, from number, activity_id• Sends SMS via Twilio back to nrosnect•Creates TYPE SMS OUTBOUND activity3. Does Every SMS Go Through This Flow?Yes, every INBOUND SMS triggers this flowokController::receive (line 88:eventnew Received(sactivitv)This event fires for All inbound SMS The GreateReceivedNotification lictener ic redictered in FventServiceProviderOutbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viaTwilio without email relav.al .* Reiect allAccent alliAsk anvthina (884-L)« Code SWF-1.6WN Windsurf Teams10-26UTE.8Po 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58867
|
2094
|
1
|
2026-05-19T13:44:33.551584+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198273551_m1.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:44:33Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
3107859035801019601
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:44:33Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58868
|
2094
|
2
|
2026-05-19T13:44:54.296010+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198294296_m1.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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}]...
|
-4936557604516829011
|
-9069119992792502842
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.php48app/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock20828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:44:53Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58869
|
2095
|
4
|
2026-05-19T13:44:54.307062+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198294307_m2.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.11269947,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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}]...
|
-4265427748691914896
|
-9066868193213567546
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
PhostormVIewINavicarecodeTOOISmelpFV faVsco.js°9 JY-20915-add-domain-specifiroledeyC WebhookController.pnpCreateReceivedNotification.php=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euy@ Role.pho(C) RolechandeEvent.oho© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpNouricatons//smskecelvea.onpx© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.phpA console [STAGING)c) Irack.phpc) IranscriptionmodelLocale.ohoc) User.phpc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC) VoiceConsentPrefix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.php@ NotifvContributor.ohn© ParticipantDeclinedRecording.php(C) PreMeetinaReminder.ohoSmsReceived.phpM ActivitvDrovidersM AlAutomationM Calendarcm ChannelsD Crm0 MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© ActivitvLiveCoachingNote.phpC) ActivitvMentioned.ohp(C) ActivitvNotloqged.ohoC) ActivitvScheduled.ohoC) ActivitvScored.oho(C) CoachRequested.ohoC) NewCustomerApiToken.ohoTx: AutovSo jiminny vclass smskecervea excenas Nouiricacion Inolements snoulauueue46 ^ Y 663041 A1 A40 V65 ^SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuidpublic tunction via(Snotitlable: array666 Vreturn 'mant'— 669678Try to pull in the corresponding outbound message for this.* @return lillumanatelbatabaselEloquent/modeunuobiectlstaticlusageprivate function getOutboundActivityO— 676return Activity::where(['type' => Activity::TYPE_SMS_OUTBOUND"user_1d = schis->aculvity-user.1o,]) ->whereHas( relation;function (Squery) {squery->wnere column."onone nunber"Sthis->activity->from->phone_number):})->orderBy( column: 'actual start time')->latest->firstO:680681Д682685686* bet the mazl representation of the notitication.687.maxedsnotirzable688L 689690public function toMail(Snotifiable): Mailable691692// From should appear consistent with the number for conversation chaining in email client.$from = ltrim(sthis->activity->from->phone_number, characters'+'D5sto e ltrim(sthis->activitv->to->nhone numben.characters: '+')693694695696// The message format is always "sender.recipient"Smailhox = StoHashids.encode(Sthis->activitv->id697698699neturninew SmsMailahle(Sthis-sactivitv. Sthis->aetOuthoundActivitvonnl->to(Snotifiahle->emailbl701->from( address: $from • '@' • config( key: 'jiminny-google_text_host'), Sthis-›activity->prospect,en-›replyTo( address: Smailbox . '@' . config( key: 'jiminny.google_text_host'), $this-›activity->pr703705706707select * from text_relays where created_at > '2026-01-01':and id IN (32415, 32416):# and id = 32412:select * from users where team 1d = 2 and emall l1ke "%scott% and 1d = 29510*SELE * FROMIactivities WHERE uvid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text relavsWHERE email_provider_id IN ('19e2027868a64b42','19e2033ed8ea6b10')1GROUP BY email orovider id:SELECT id, status, telephony_provider_id, created_atSROM activitiesWHERE id IN (80028719, 80028846):SELECT id, status, code, email_sent_at, created_at, updated_atFROM text_relaysWHERF id TN (32415 32416)-SELECT id, status,code, sender, recipient, created_atFROM text_relaysWHERE sender LIKE "%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'npnsp py cnontod o+ nechLIMIT 10:SELECT id, vuid, status, code, sender, recipient, created at, updated atFROM text relaysWHERE vuid = uuid_ to_ bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):# [PASSWORD_DOTS]SELECT DISTINCT uid, u.email, u.name, u.softphone number. COUNT(a,id) as sms countFROM users uINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE a.tvoe LIKEAND a.created at > DATE SUB(NoW(). INTERvaL 30 DAY)croup Ry u.id. u.email, u.name, Usoftnhone numbenORDER RY sms count pesclselect * from teams whene id = 11splect * from noles,100% 5• Tue 19 May 16:44:54AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..The text is in the email temolate at sms-received,olade, oho lline 37)<. how lext kelay works:Phase 1: Inbound SMS Received (Prospect → Jiminny User)• Prospect sends SMS to liminny user's softohone number• Twillo webhook hits Webhookcontroller::recelveo• Activity created with type TYPE SMS INBOUND• Received event fired (line 88)• CreateReceivedNot ificat ion listener sends email to userPhase 2: Email NotificationSmsReceived notification sends email using sms-received. b lade. php template• Email includes the message content and "To send a message back, just reply to this email.'• Critical: The email has a special renlvTo addressrenivTo(smailhox 'a' confia('iiminnv.aoogle text host'))// Format: {to_number}.{from_number}.fencoded_activity_id}@txt.jiminny.com// Example: [EMAIL] 3: User Replies (Email → SMS).User replies to the email• Gmail receives reply at catch-all address• Gmail Pub/Sub pushes notification to Jiminny• TextRelavService::svnc() fetches new emails• EmailTextRelay job processes the reply:•Validates sender is the Jiminny userParses recipient to extract: to number. from number. activitv id•Sends SMS via Twilio back to prospect•Creates TYpE sMS outBoUnd activity3. Does Everv SMS Go Throuch This Flow?Yes, every INBOUND SMS triggers this flowLookina at WehhonkController:• receive() (line 89)•event(new Received(Sactivity));This event fires for ALL inbound SMS. The CreateReceivedNotification listener is registered in EventServiceProvidenline 222) to handle everv Received event cendina the email notification with renlv canabilitvOutbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viawillo without emall relay.Reiect alllAccent allAsk anvthing 884-D)« Code SWF-1.6WN Windsurf Teams10-26UTE.8Po 4 spaces...
|
58866
|
NULL
|
NULL
|
NULL
|
|
58870
|
2095
|
5
|
2026-05-19T13:44:59.823237+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198299823_m2.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
6
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Notifications\Activities;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Notifications\Notification;
use Jiminny\Models\Activity;
use Jiminny\Mail\Activities\SmsReceEived as SmsMailable;
use Vinkla\Hashids\Facades\Hashids;
class SmsReceived extends Notification implements ShouldQueue
{
use Queueable;
/**
* @var Activity $activity
*/
private $activity;
/**
* Create a new notification instance.
*
*/
public function __construct(Activity $activity)
{
$this->activity = $activity;
}
public function via($notifiable): array
{
return ['mail'];
}
/**
* Try to pull in the corresponding outbound message for this.
*
* @return \Illuminate\Database\Eloquent\Model|null|object|static
*/
private function getOutboundActivity()
{
return Activity::where([
'type' => Activity::TYPE_SMS_OUTBOUND,
'user_id' => $this->activity->user_id,
])->whereHas('to', function ($query) {
$query->where('phone_number', $this->activity->from->phone_number);
})->orderBy('actual_start_time')->latest()->first();
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*/
public function toMail($notifiable): Mailable
{
// From should appear consistent with the number for conversation chaining in email client.
$from = ltrim($this->activity->from->phone_number, '+');
$to = ltrim($this->activity->to->phone_number, '+');
// The message format is always "sender.recipient".
$mailbox = $to . '.' . $from . '.' . Hashids::encode($this->activity->id);
return (new SmsMailable($this->activity, $this->getOutboundActivity()))
->to($notifiable->email)
->from($from . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name)
->replyTo($mailbox . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name);
}
}...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.11269947,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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":"6","depth":4,"bounds":{"left":0.52393615,"top":0.10055866,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.53357714,"top":0.09896249,"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.54089093,"top":0.09896249,"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\nnamespace Jiminny\\Notifications\\Activities;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Notifications\\Notification;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Mail\\Activities\\SmsReceEived as SmsMailable;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass SmsReceived extends Notification implements ShouldQueue\n{\n use Queueable;\n\n /**\n * @var Activity $activity\n */\n private $activity;\n\n /**\n * Create a new notification instance.\n *\n */\n public function __construct(Activity $activity)\n {\n $this->activity = $activity;\n }\n\n public function via($notifiable): array\n {\n return ['mail'];\n }\n\n /**\n * Try to pull in the corresponding outbound message for this.\n *\n * @return \\Illuminate\\Database\\Eloquent\\Model|null|object|static\n */\n private function getOutboundActivity()\n {\n return Activity::where([\n 'type' => Activity::TYPE_SMS_OUTBOUND,\n 'user_id' => $this->activity->user_id,\n ])->whereHas('to', function ($query) {\n $query->where('phone_number', $this->activity->from->phone_number);\n })->orderBy('actual_start_time')->latest()->first();\n }\n\n /**\n * Get the mail representation of the notification.\n *\n * @param mixed $notifiable\n */\n public function toMail($notifiable): Mailable\n {\n // From should appear consistent with the number for conversation chaining in email client.\n $from = ltrim($this->activity->from->phone_number, '+');\n $to = ltrim($this->activity->to->phone_number, '+');\n\n // The message format is always \"sender.recipient\".\n $mailbox = $to . '.' . $from . '.' . Hashids::encode($this->activity->id);\n\n return (new SmsMailable($this->activity, $this->getOutboundActivity()))\n ->to($notifiable->email)\n ->from($from . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name)\n ->replyTo($mailbox . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name);\n }\n}","depth":4,"bounds":{"left":0.15724733,"top":0.0,"width":0.390625,"height":1.0},"on_screen":true,"value":"<?php\n\nnamespace Jiminny\\Notifications\\Activities;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Notifications\\Notification;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Mail\\Activities\\SmsReceEived as SmsMailable;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass SmsReceived extends Notification implements ShouldQueue\n{\n use Queueable;\n\n /**\n * @var Activity $activity\n */\n private $activity;\n\n /**\n * Create a new notification instance.\n *\n */\n public function __construct(Activity $activity)\n {\n $this->activity = $activity;\n }\n\n public function via($notifiable): array\n {\n return ['mail'];\n }\n\n /**\n * Try to pull in the corresponding outbound message for this.\n *\n * @return \\Illuminate\\Database\\Eloquent\\Model|null|object|static\n */\n private function getOutboundActivity()\n {\n return Activity::where([\n 'type' => Activity::TYPE_SMS_OUTBOUND,\n 'user_id' => $this->activity->user_id,\n ])->whereHas('to', function ($query) {\n $query->where('phone_number', $this->activity->from->phone_number);\n })->orderBy('actual_start_time')->latest()->first();\n }\n\n /**\n * Get the mail representation of the notification.\n *\n * @param mixed $notifiable\n */\n public function toMail($notifiable): Mailable\n {\n // From should appear consistent with the number for conversation chaining in email client.\n $from = ltrim($this->activity->from->phone_number, '+');\n $to = ltrim($this->activity->to->phone_number, '+');\n\n // The message format is always \"sender.recipient\".\n $mailbox = $to . '.' . $from . '.' . Hashids::encode($this->activity->id);\n\n return (new SmsMailable($this->activity, $this->getOutboundActivity()))\n ->to($notifiable->email)\n ->from($from . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name)\n ->replyTo($mailbox . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false}]...
|
6622511775374934796
|
-8991925075960927516
|
visual_change
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
6
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Notifications\Activities;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Notifications\Notification;
use Jiminny\Models\Activity;
use Jiminny\Mail\Activities\SmsReceEived as SmsMailable;
use Vinkla\Hashids\Facades\Hashids;
class SmsReceived extends Notification implements ShouldQueue
{
use Queueable;
/**
* @var Activity $activity
*/
private $activity;
/**
* Create a new notification instance.
*
*/
public function __construct(Activity $activity)
{
$this->activity = $activity;
}
public function via($notifiable): array
{
return ['mail'];
}
/**
* Try to pull in the corresponding outbound message for this.
*
* @return \Illuminate\Database\Eloquent\Model|null|object|static
*/
private function getOutboundActivity()
{
return Activity::where([
'type' => Activity::TYPE_SMS_OUTBOUND,
'user_id' => $this->activity->user_id,
])->whereHas('to', function ($query) {
$query->where('phone_number', $this->activity->from->phone_number);
})->orderBy('actual_start_time')->latest()->first();
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*/
public function toMail($notifiable): Mailable
{
// From should appear consistent with the number for conversation chaining in email client.
$from = ltrim($this->activity->from->phone_number, '+');
$to = ltrim($this->activity->to->phone_number, '+');
// The message format is always "sender.recipient".
$mailbox = $to . '.' . $from . '.' . Hashids::encode($this->activity->id);
return (new SmsMailable($this->activity, $this->getOutboundActivity()))
->to($notifiable->email)
->from($from . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name)
->replyTo($mailbox . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name);
}
}...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58872
|
2095
|
6
|
2026-05-19T13:45:01.681287+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198301681_m2.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reroledey© CreateReceivedNotification.php@ Role phosms-received.blade.php© TextRelayService.php= .env.production"eu© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.ono© TeamSettings.php(c) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.php© UserSettinas.phpc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnSmsReceived.phpM ActivitvDrovidersM AlAutomation0 Calendarsm Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL]) ActivitvNotLoqged.onoC) ActivitvScheduled.oho(C) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerApiToken.ohouse LLLuminace noulticacions nociticacionuse Jininny Models Aculvicy.use Jiminny \Mail\Activities\SmsReceEived as SmsMailable:use Vinkla hashlas racades hashias.class Smsrecelved extends Notitication 1mpLements Shouldoueveuse Queueable:* ovar Activitu soctivituprivate Sactivity;• Crpate a new notification instancolpublic function __construct(Activity Sactivity)sunis->aculvity = sacuivitypublic function via(Snotifiable): arrayreturn ['mail']:* Iru to pull in the correspondina outbound message for this.* dreturn Uuumanate atabose Zloquent rode unuuu obtect stoticprivate function getOutboundActivity()return Activity: wheredlI+vne' => Activity. TYps SMS OUTROUND.'usen id!= Sthis-sactivitv-susen id.1->whereHas relationSaueny->whened c'to', function ($query) {"nhone numbent Sthis-itv->from->nhone numhen):}->onderRvd colunlactual stant timel)->latesto->fincto•* Get the mail representation of the notification.* Qparam mixed SnotifiableC) Mail.SmsReceivea.ohpЩ6лVhal100% Lz• Tue 19 May 16:45:01= custom.l0g= laravel.logA SF [jiminny@localhost]« HS_local [jiminny@localhost]« console [PROD] X « console (EU]« console [STAGING)Tx: AutovPlaygroundvSo jiminnym 041 A1 A40 Y65 A VSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;=D666 V669674702select * from text_relays where created_at › "2026-01-01":and id IN (32415, 32416);#and 10 = 324121select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = vuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email nnoviden id TN 11902027868a64h421.119e2033ed8ea6h10')|GROUP BY email_provider_id;SEIECT id. status telenhonv nroviden id. croated arEROM activitiesWHERE id IN (80028719, 80028846);SELECT id, status,code, email_sent_at, created_at, updated_atFROM text_relaysWHERE id IN (32415, 32416):criect id. status,reczolent creareaaurroM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMII 10%SELECT id, uuid. status, code, sender, recipient. created at. uodated atlFRoM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):SELECT DISTINCT U.1d. U.email, U.name. u.softohone number, couNTla.1d as sms countFROM usens uBINNER JOIN activities a1<->1.n: ON u.sid = a.usen idWHERE a.type LIKE 'sms%AND a.created at > DATE SURINOWOL INTERVAL 30 DAY)IGROUP BY v.id, u.email, u.name, u.softphone_numberORDER RY sms count DESC.select * from teams where id = 1;colort * fnom noloc.WN Windsurf Teamc10-27UTE.8IPo 4 spaces...
|
NULL
|
6615578905961506573
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reroledey© CreateReceivedNotification.php@ Role phosms-received.blade.php© TextRelayService.php= .env.production"eu© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.ono© TeamSettings.php(c) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.php© UserSettinas.phpc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnSmsReceived.phpM ActivitvDrovidersM AlAutomation0 Calendarsm Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL]) ActivitvNotLoqged.onoC) ActivitvScheduled.oho(C) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerApiToken.ohouse LLLuminace noulticacions nociticacionuse Jininny Models Aculvicy.use Jiminny \Mail\Activities\SmsReceEived as SmsMailable:use Vinkla hashlas racades hashias.class Smsrecelved extends Notitication 1mpLements Shouldoueveuse Queueable:* ovar Activitu soctivituprivate Sactivity;• Crpate a new notification instancolpublic function __construct(Activity Sactivity)sunis->aculvity = sacuivitypublic function via(Snotifiable): arrayreturn ['mail']:* Iru to pull in the correspondina outbound message for this.* dreturn Uuumanate atabose Zloquent rode unuuu obtect stoticprivate function getOutboundActivity()return Activity: wheredlI+vne' => Activity. TYps SMS OUTROUND.'usen id!= Sthis-sactivitv-susen id.1->whereHas relationSaueny->whened c'to', function ($query) {"nhone numbent Sthis-itv->from->nhone numhen):}->onderRvd colunlactual stant timel)->latesto->fincto•* Get the mail representation of the notification.* Qparam mixed SnotifiableC) Mail.SmsReceivea.ohpЩ6лVhal100% Lz• Tue 19 May 16:45:01= custom.l0g= laravel.logA SF [jiminny@localhost]« HS_local [jiminny@localhost]« console [PROD] X « console (EU]« console [STAGING)Tx: AutovPlaygroundvSo jiminnym 041 A1 A40 Y65 A VSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;=D666 V669674702select * from text_relays where created_at › "2026-01-01":and id IN (32415, 32416);#and 10 = 324121select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = vuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email nnoviden id TN 11902027868a64h421.119e2033ed8ea6h10')|GROUP BY email_provider_id;SEIECT id. status telenhonv nroviden id. croated arEROM activitiesWHERE id IN (80028719, 80028846);SELECT id, status,code, email_sent_at, created_at, updated_atFROM text_relaysWHERE id IN (32415, 32416):criect id. status,reczolent creareaaurroM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMII 10%SELECT id, uuid. status, code, sender, recipient. created at. uodated atlFRoM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):SELECT DISTINCT U.1d. U.email, U.name. u.softohone number, couNTla.1d as sms countFROM usens uBINNER JOIN activities a1<->1.n: ON u.sid = a.usen idWHERE a.type LIKE 'sms%AND a.created at > DATE SURINOWOL INTERVAL 30 DAY)IGROUP BY v.id, u.email, u.name, u.softphone_numberORDER RY sms count DESC.select * from teams where id = 1;colort * fnom noloc.WN Windsurf Teamc10-27UTE.8IPo 4 spaces...
|
58870
|
NULL
|
NULL
|
NULL
|
|
58871
|
2094
|
3
|
2026-05-19T13:45:01.720073+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198301720_m1.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:45:01Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
-1007155979786497836
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:45:01Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
58868
|
NULL
|
NULL
|
NULL
|
|
58873
|
2095
|
7
|
2026-05-19T13:45:06.535578+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198306535_m2.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.11269947,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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}]...
|
8529103343812781828
|
-8708827900202079290
|
visual_change
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-rProiect©) WebhookController.pnp@ Role pho© Notifications/.../SmsReceived.php x © Mail/.../SmsReceived.phpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpc) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.phpc) Usersertinas.onoc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© ExportViewed.php© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnM ActivitvDrovidersM AlAutomationD Calendarsm Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL](C) ActivitvNotloqged.oho© ActivitvScheduled.php(C) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerApiToken.ohouse Iuluminace noulticacions nociticaclonuse Jininny Models AccIVicyuse Jiminny Ma1l Activitles SmsRecez1ved as Smsmallable:use Vinkla Hashids Facades Hashids'class Smsrecelved extends Notification 1mpLements Shouldoueueuse Queveable:* avar Activity Sactivitysusagesprivate Sactivity;• Create a new notification inctanco.public function __construct(Activity Sactivity)Sthis-sactivitv = Sactivicypublic tunction viasnotitlable: arrayreturn 'mall'"* Tru to oulz in the correspondina outbound message for thisi* @return (Lluminate Database ELoquent Modelnulu object/static1 usageprivate function getOutboundActivityOneturn Activitv.-wherpdiI+vne!Activity••TYPE SMS OUTROUND.'usen id!= Sthis->activitv->usen id.1->whereHasdreIto' function (Squenv) *Cauonv-swhono& column'phone_number', $this->activity->from->phone_number);-sondonRyl collantual ctant timol_slatoc+@csfincto.* Get the mail representation of the notification.* Qparam mixed SnotifiableWorkcnace accociated with hranch 'macter' hac heon rectored Il Pollback II Confiaure (1 hour adoicustom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euy© TextRelayService.phpA console [STAGING]So jiminny vА276AV041 A1 A40 V65 ^SELECT * FROM automated_report results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuzdi666 v-- 669676672674675T676678687688L 689690104select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team id = 2 and email Like "%scott%' and id = 2950*SEE * SROMIactivities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesEROM teyt nelavsWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP RY email nnoviden id:SELECT id, status, telephony_provider_id, created_atSOnM sntivitiocWHEPE id TN ([CREDIT_CARD])-SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416)=SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10SELECT id.uuid. status, code. sender, recipient. created at. updatedat.FROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656')[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numherOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.100% 5• Tue 19 May 16:45:06AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..The text is in the email temolate at sms-received,olade, oho lline 37)<. how lext kelay works:Phase 1: Inbound SMS Received (Prospect → Jiminny User)• Prospect sends SMS to liminny user's softohone number• Twillo webhook hits Webhookcontroller::recelveo• Activity created with type TYPE SMS INBOUND• Received event fired (line 88)• CreateReceivedNot ificat ion listener sends email to userPhase 2: Email NotificationSmsReceived notification sends email using sms-received. b lade. php template• Email includes the message content and "To send a message back, just reply to this email.'• Critical: The email has a special renlvTo addressrenivTo(smailhox 'a' confia('iiminnv.aoogle text host'))// Format: {to_number}.{from_number}.fencoded_activity_id}atxt.jiminny.com// Example: [EMAIL] 3: User Replies (Email → SMS).User replies to the email• Gmail receives reply at catch-all address• Gmail Pub/Sub pushes notification to Jiminny• TextRelavService::svnc() fetches new emails• EmailTextRelay job processes the reply:•Validates sender is the Jiminny user• Parses recipient to extract: to number. from number. activitv id•Sends SMS via Twilio back to prospect•Creates TYpE sMS outBoUnd activity3. Does Everv SMS Go Throuch This Flow?Yes, every INBOUND SMS triggers this flowLookina at WehhonkController:• receive() (line 89)•event(new Received(Sactivity));This event fires for ALL inbound SMS. The CreateReceivedNotification listener is registered in EventServiceProviderline 222) to handle everv Received event cendina the email notification with renlv canabilitvOutbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viawillo without emall relay.2 files +26 -1>Reiect allAccent alliWN Windsurf Teamc10-27UTE.8Po 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58874
|
2094
|
4
|
2026-05-19T13:45:13.338767+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198313338_m1.jpg...
|
Slack
|
Stefka Stoyanova (DM) - Jiminny Inc - 3 new items Stefka Stoyanova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-ema• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:45:13Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
-6785797447795633113
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-ema• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:45:13Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58875
|
2095
|
8
|
2026-05-19T13:45:13.343331+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198313343_m2.jpg...
|
Slack
|
Stefka Stoyanova (DM) - Jiminny Inc - 3 new items Stefka Stoyanova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-rProiect v©) WebhookController.pnp@ Role.pho© Notifications/.../SmsReceived.php x © Mail/.../SmsReceived.phpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpc) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.phpc) Usersertinas.onoc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© ExportViewed.php© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnM ActivitvDrovidersM AlAutomationD Calendarsm Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL](C) ActivitvNotloqged.oho© ActivitvScheduled.php(C) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerApiToken.ohouse Iuluminace noulticacions nociticaclonuse Jininny Models AccIVicyuse Jiminny Ma1l Activitles SmsRecez1ved as Smsmallable:use Vinkla Hashids Facades Hashids'class Smsrecelved extends Notification 1mpLements Shouldoueueuse Queveable:* avar Activity Sactivitysusagesprivate Sactivity;• Create a new notification inctanco.public function __construct(Activity Sactivity)Sthis-sactivitv = Sactivicypublic tunction viasnotitlable: arrayreturn 'mall'"* Tru to oulz in the correspondina outbound message for thisi* @return (Lluminate Database ELoquent Modelnulu object/static1 usageprivate function getOutboundActivityOneturn Activitv.-wherpdiI+vne!Activity••TYPE SMS OUTROUND.'usen id!= Sthis->activitv->usen id.1->whereHasdreIto' function (Squenv) *Cauonv-swhono& column'phone_number', $this->activity->from->phone_number);-sondonRyl collantual ctant timol_slatoc+@csfincto.* Get the mail representation of the notification.* Qparam mixed SnotifiableWorkcnace accociated with hranch 'macter' hac heon rectored Il Pollback II Confiaure (1 hour adoi=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euy© TextRelayService.phpA console [STAGING]So jiminny vА276AV041 A1 A40 V65 ^SELECT * FROM automated_report results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuzdi666 v-- 669676672674677678687688L 689690104705select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team id = 2 and email Like "%scott%' and id = 2950*SEE * SROMIactivities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesEROM teyt nelavsWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP RY email nnoviden id:SELECT id, status, telephony_provider_id, created_atSOnM sntivitiocWHEPE id TN ([CREDIT_CARD])-SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416)=SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10SELECT id.uuid. status, code. sender, recipient. created at. updatedat.FROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656')[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numherOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.100% 5• Tue 19 May 16:45:12AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..The text is in the email temolate at sms-received,olade, oho lline 37)<. how lext kelay works:Phase 1: Inbound SMS Received (Prospect → Jiminny User)• Prospect sends SMS to liminny user's softohone number• Twillo webhook hits Webhookcontroller::recelveo• Activity created with type TYPE SMS INBOUND• Received event fired (line 88)• CreateReceivedNot ificat ion listener sends email to userPhase 2: Email NotificationSmsReceived notification sends email using sms-received. b lade. php template• Email includes the message content and "To send a message back, just reply to this email.'• Critical: The email has a special renlvTo addressrenivTo(smailhox 'a' confia('iiminnv.aoogle text host'))// Format: {to_number}.{from_number}.fencoded_activity_id}atxt.jiminny.com// Example: [EMAIL] 3: User Replies (Email → SMS).User replies to the email• Gmail receives reply at catch-all address• Gmail Pub/Sub pushes notification to Jiminny• TextRelavService::svnc() fetches new emails• EmailTextRelay job processes the reply:•Validates sender is the Jiminny user• Parses recipient to extract: to number. from number. activitv id•Sends SMS via Twilio back to prospect•Creates TYpE sMS outBoUnd activity3. Does Everv SMS Go Throuch This Flow?Yes, every INBOUND SMS triggers this flowLookina at WehhonkController:• receive() (line 89)•event(new Received(Sactivity));This event fires for ALL inbound SMS. The CreateReceivedNotification listener is registered in EventServiceProviderline 222) to handle everv Received event cendina the email notification with renlv canabilitvOutbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viawillo without emall relay.Reiect allAccent alliExplainWN Windsurf Teamc10-27UTE.8Po 4 spaces...
|
NULL
|
2919827433418804611
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-rProiect v©) WebhookController.pnp@ Role.pho© Notifications/.../SmsReceived.php x © Mail/.../SmsReceived.phpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpc) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.phpc) Usersertinas.onoc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© ExportViewed.php© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnM ActivitvDrovidersM AlAutomationD Calendarsm Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL](C) ActivitvNotloqged.oho© ActivitvScheduled.php(C) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerApiToken.ohouse Iuluminace noulticacions nociticaclonuse Jininny Models AccIVicyuse Jiminny Ma1l Activitles SmsRecez1ved as Smsmallable:use Vinkla Hashids Facades Hashids'class Smsrecelved extends Notification 1mpLements Shouldoueueuse Queveable:* avar Activity Sactivitysusagesprivate Sactivity;• Create a new notification inctanco.public function __construct(Activity Sactivity)Sthis-sactivitv = Sactivicypublic tunction viasnotitlable: arrayreturn 'mall'"* Tru to oulz in the correspondina outbound message for thisi* @return (Lluminate Database ELoquent Modelnulu object/static1 usageprivate function getOutboundActivityOneturn Activitv.-wherpdiI+vne!Activity••TYPE SMS OUTROUND.'usen id!= Sthis->activitv->usen id.1->whereHasdreIto' function (Squenv) *Cauonv-swhono& column'phone_number', $this->activity->from->phone_number);-sondonRyl collantual ctant timol_slatoc+@csfincto.* Get the mail representation of the notification.* Qparam mixed SnotifiableWorkcnace accociated with hranch 'macter' hac heon rectored Il Pollback II Confiaure (1 hour adoi=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euy© TextRelayService.phpA console [STAGING]So jiminny vА276AV041 A1 A40 V65 ^SELECT * FROM automated_report results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuzdi666 v-- 669676672674677678687688L 689690104705select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team id = 2 and email Like "%scott%' and id = 2950*SEE * SROMIactivities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesEROM teyt nelavsWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP RY email nnoviden id:SELECT id, status, telephony_provider_id, created_atSOnM sntivitiocWHEPE id TN ([CREDIT_CARD])-SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416)=SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10SELECT id.uuid. status, code. sender, recipient. created at. updatedat.FROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656')[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numherOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.100% 5• Tue 19 May 16:45:12AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..The text is in the email temolate at sms-received,olade, oho lline 37)<. how lext kelay works:Phase 1: Inbound SMS Received (Prospect → Jiminny User)• Prospect sends SMS to liminny user's softohone number• Twillo webhook hits Webhookcontroller::recelveo• Activity created with type TYPE SMS INBOUND• Received event fired (line 88)• CreateReceivedNot ificat ion listener sends email to userPhase 2: Email NotificationSmsReceived notification sends email using sms-received. b lade. php template• Email includes the message content and "To send a message back, just reply to this email.'• Critical: The email has a special renlvTo addressrenivTo(smailhox 'a' confia('iiminnv.aoogle text host'))// Format: {to_number}.{from_number}.fencoded_activity_id}atxt.jiminny.com// Example: [EMAIL] 3: User Replies (Email → SMS).User replies to the email• Gmail receives reply at catch-all address• Gmail Pub/Sub pushes notification to Jiminny• TextRelavService::svnc() fetches new emails• EmailTextRelay job processes the reply:•Validates sender is the Jiminny user• Parses recipient to extract: to number. from number. activitv id•Sends SMS via Twilio back to prospect•Creates TYpE sMS outBoUnd activity3. Does Everv SMS Go Throuch This Flow?Yes, every INBOUND SMS triggers this flowLookina at WehhonkController:• receive() (line 89)•event(new Received(Sactivity));This event fires for ALL inbound SMS. The CreateReceivedNotification listener is registered in EventServiceProviderline 222) to handle everv Received event cendina the email notification with renlv canabilitvOutbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viawillo without emall relay.Reiect allAccent alliExplainWN Windsurf Teamc10-27UTE.8Po 4 spaces...
|
58873
|
NULL
|
NULL
|
NULL
|
|
58876
|
2094
|
5
|
2026-05-19T13:45:16.274550+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198316274_m1.jpg...
|
Slack
|
Stefka Stoyanova (DM) - Jiminny Inc - 3 new items Stefka Stoyanova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Stefka Stoyanova
Nikolay Yankov
Galya Dimitrova
Vasil Vasilev
Aneliya Angelova
Stoyan Tomov
Todor Stamatov
Mario Georgiev
Nikolay Ivanov
James Graham
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
More
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Yesterday at 11:57:02 AM
11:57
https://jiminny.atlassian.net/browse/SRD-6848
https://jiminny.atlassian.net/browse/SRD-6848
- това е блокирано, а сторито в спринта е готово?
Jira Cloud
Jira Cloud
Jira Cloud Bug SRD-6848 Sidekick SMS issue Bug SRD-6848 in Jira Cloud Preview in Slack Status Blocked Assignee Lukas Kovalik(you) As of yesterday at 11:57 AM Refresh Open in Jira ✨ Summarise
Sidekick SMS issue
Bug SRD-6848 in Jira Cloud
Preview in Slack
Status
Blocked
Assignee
Lukas Kovalik
(you)
As of yesterday at 11:57 AM
Refresh
Open in Jira
✨ Summarise
Open in browser
Share Bug SRD-6848
View conversations
More actions
Lukas Kovalik
Yesterday at 11:58:08 AM...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.51180553,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"bounds":{"left":0.50625,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"bounds":{"left":0.5138889,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.50625,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"bounds":{"left":0.5159722,"top":0.26777777,"width":0.016666668,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.50625,"top":0.2911111,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.027083334,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.0055555557,"height":0.015555556}},{"char_start":1,"char_count":7,"bounds":{"left":0.5159722,"top":0.34333333,"width":0.022222223,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.50625,"top":0.36666667,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"bounds":{"left":0.51666665,"top":0.4188889,"width":0.015972223,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51666665,"top":0.4188889,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":4,"bounds":{"left":0.5208333,"top":0.4188889,"width":0.011805556,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.50625,"top":0.4422222,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"bounds":{"left":0.5152778,"top":0.49444443,"width":0.018055556,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.50625,"top":0.5177778,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"bounds":{"left":0.5152778,"top":0.57,"width":0.01875,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.039583333,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.68472224,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.050694443,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.09166667,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.093055554,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.046527777,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.025694445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.072222225,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.057638887,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.054166667,"height":0.0033333334},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"bounds":{"left":0.58819443,"top":0.14222223,"width":0.034027778,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"bounds":{"left":0.58819443,"top":0.17333333,"width":0.048611112,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"bounds":{"left":0.58819443,"top":0.20444444,"width":0.072916664,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.20444444,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":15,"bounds":{"left":0.59444445,"top":0.20444444,"width":0.06666667,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"bounds":{"left":0.58819443,"top":0.23555556,"width":0.08055556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"bounds":{"left":0.58819443,"top":0.26666668,"width":0.035416666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"bounds":{"left":0.58819443,"top":0.29777777,"width":0.038194444,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"bounds":{"left":0.58819443,"top":0.3288889,"width":0.05138889,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.3288889,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":11,"bounds":{"left":0.59305555,"top":0.3288889,"width":0.045833334,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"bounds":{"left":0.58819443,"top":0.36,"width":0.036111113,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"bounds":{"left":0.58819443,"top":0.3911111,"width":0.05138889,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"bounds":{"left":0.58819443,"top":0.42222223,"width":0.094444446,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.42222223,"width":0.004166667,"height":0.02}},{"char_start":1,"char_count":20,"bounds":{"left":0.5923611,"top":0.42222223,"width":0.09861111,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"bounds":{"left":0.58819443,"top":0.49555555,"width":0.079166666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"bounds":{"left":0.58819443,"top":0.52666664,"width":0.06875,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"bounds":{"left":0.58819443,"top":0.55777776,"width":0.07361111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"bounds":{"left":0.58819443,"top":0.5888889,"width":0.055555556,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.5888889,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":12,"bounds":{"left":0.59444445,"top":0.5888889,"width":0.048611112,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"bounds":{"left":0.58819443,"top":0.62,"width":0.07847222,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tomov","depth":23,"bounds":{"left":0.58819443,"top":0.6511111,"width":0.06458333,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Todor Stamatov","depth":23,"bounds":{"left":0.58819443,"top":0.68222225,"width":0.072222225,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Mario Georgiev","depth":23,"bounds":{"left":0.58819443,"top":0.7133333,"width":0.07152778,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"bounds":{"left":0.58819443,"top":0.74444443,"width":0.06736111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"James Graham","depth":23,"bounds":{"left":0.58819443,"top":0.77555555,"width":0.06666667,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"bounds":{"left":0.58819443,"top":0.8066667,"width":0.060416665,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":23,"bounds":{"left":0.58819443,"top":0.8377778,"width":0.061805554,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you","depth":23,"bounds":{"left":0.65555555,"top":0.8377778,"width":0.013194445,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.65555555,"top":0.8377778,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":2,"bounds":{"left":0.66041666,"top":0.8377778,"width":0.011805556,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"bounds":{"left":0.58819443,"top":0.9111111,"width":0.045833334,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"bounds":{"left":0.58819443,"top":0.94222224,"width":0.024305556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":18,"bounds":{"left":0.71319443,"top":0.12777779,"width":0.06458333,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":20,"bounds":{"left":0.7326389,"top":0.14,"width":0.039583333,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":18,"bounds":{"left":0.7798611,"top":0.12777779,"width":0.04375,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":20,"bounds":{"left":0.79930556,"top":0.14,"width":0.01875,"height":0.017777778},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.79930556,"top":0.14,"width":0.0055555557,"height":0.017777778}},{"char_start":1,"char_count":4,"bounds":{"left":0.8048611,"top":0.14,"width":0.013194445,"height":0.017777778}}],"role_description":"text"},{"role":"AXRadioButton","text":"Untitled","depth":18,"bounds":{"left":0.8263889,"top":0.12777779,"width":0.06111111,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Untitled","depth":20,"bounds":{"left":0.84583336,"top":0.14,"width":0.033333335,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More","depth":19,"bounds":{"left":0.88958335,"top":0.12777779,"width":0.04236111,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":18,"bounds":{"left":0.93194443,"top":0.12777779,"width":0.022222223,"height":0.04222222},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":18,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":18,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":18,"on_screen":false,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"bounds":{"left":0.81527776,"top":0.17666666,"width":0.068055555,"height":0.031111112},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Yesterday at 11:57:02 AM","depth":25,"bounds":{"left":0.71944445,"top":0.16111112,"width":0.021527778,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:57","depth":26,"bounds":{"left":0.71944445,"top":0.16111112,"width":0.021527778,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://jiminny.atlassian.net/browse/SRD-6848","depth":25,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.21597221,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"https://jiminny.atlassian.net/browse/SRD-6848","depth":26,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.21597221,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- това е блокирано, а сторито в спринта е готово?","depth":25,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.2326389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":24,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.039583333,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Jira Cloud","depth":24,"bounds":{"left":0.7888889,"top":0.16111112,"width":0.011111111,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Jira Cloud Bug SRD-6848 Sidekick SMS issue Bug SRD-6848 in Jira Cloud Preview in Slack Status Blocked Assignee Lukas Kovalik(you) As of yesterday at 11:57 AM Refresh Open in Jira ✨ Summarise","depth":26,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.2361111,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sidekick SMS issue","depth":27,"bounds":{"left":0.7888889,"top":0.16111112,"width":0.088194445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Bug SRD-6848 in Jira Cloud","depth":28,"bounds":{"left":0.7888889,"top":0.16111112,"width":0.11180556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Preview in Slack","depth":28,"bounds":{"left":0.7888889,"top":0.16111112,"width":0.06527778,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status","depth":27,"bounds":{"left":0.7888889,"top":0.16111112,"width":0.025,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Blocked","depth":27,"bounds":{"left":0.7916667,"top":0.16111112,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Assignee","depth":27,"bounds":{"left":0.8472222,"top":0.16111112,"width":0.036111113,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":28,"bounds":{"left":0.86875,"top":0.16111112,"width":0.05486111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(you)","depth":28,"bounds":{"left":0.92638886,"top":0.16111112,"width":0.02013889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"As of yesterday at 11:57 AM","depth":28,"bounds":{"left":0.75555557,"top":0.16111112,"width":0.11319444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Refresh","depth":28,"bounds":{"left":0.87083334,"top":0.16111112,"width":0.030555556,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Jira","depth":28,"bounds":{"left":0.75555557,"top":0.16111112,"width":0.06458333,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"✨ Summarise","depth":28,"bounds":{"left":0.8229167,"top":0.16111112,"width":0.07361111,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Open in browser","depth":28,"bounds":{"left":0.8819444,"top":0.16111112,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share Bug SRD-6848","depth":27,"bounds":{"left":0.90416664,"top":0.16111112,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View conversations","depth":27,"bounds":{"left":0.92638886,"top":0.16111112,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More actions","depth":27,"bounds":{"left":0.94861114,"top":0.16111112,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":24,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.06458333,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8111111,"top":0.16111112,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Yesterday at 11:58:08 AM","depth":24,"bounds":{"left":0.81666666,"top":0.16111112,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
3450567831706208163
|
-8420328604805818736
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Stefka Stoyanova
Nikolay Yankov
Galya Dimitrova
Vasil Vasilev
Aneliya Angelova
Stoyan Tomov
Todor Stamatov
Mario Georgiev
Nikolay Ivanov
James Graham
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
More
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Yesterday at 11:57:02 AM
11:57
https://jiminny.atlassian.net/browse/SRD-6848
https://jiminny.atlassian.net/browse/SRD-6848
- това е блокирано, а сторито в спринта е готово?
Jira Cloud
Jira Cloud
Jira Cloud Bug SRD-6848 Sidekick SMS issue Bug SRD-6848 in Jira Cloud Preview in Slack Status Blocked Assignee Lukas Kovalik(you) As of yesterday at 11:57 AM Refresh Open in Jira ✨ Summarise
Sidekick SMS issue
Bug SRD-6848 in Jira Cloud
Preview in Slack
Status
Blocked
Assignee
Lukas Kovalik
(you)
As of yesterday at 11:57 AM
Refresh
Open in Jira
✨ Summarise
Open in browser
Share Bug SRD-6848
View conversations
More actions
Lukas Kovalik
Yesterday at 11:58:08 AM
SlackFileEditViewGoHistoryWindowHelpAPPAPP (-zsl...ED• →DOCKER• ₴1DEV (docker)₴82(use "git restore<file>..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpHomeDMsActivityFilesno changes added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),done.remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-eventsUpdating 5604af40cf..177ea29b8dLater.••Moreorigin/JY-20origin/JY-20app/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonroutes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php10 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emaJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of_jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelova. Stoyan TomovBs Todor Stamatov **d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToastlhl100% C8•Tue 19 May 16:45:16QDescribe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stuyanova 12:00PMясно, в друго сYesterdayправим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58877
|
2095
|
9
|
2026-05-19T13:45:17.742745+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198317742_m2.jpg...
|
Slack
|
Stefka Stoyanova (DM) - Jiminny Inc - 3 new items Stefka Stoyanova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Stefka Stoyanova
Nikolay Yankov
Galya Dimitrova
Vasil Vasilev
Aneliya Angelova
Stoyan Tomov
Todor Stamatov
Mario Georgiev
Nikolay Ivanov
James Graham
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
More
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Yesterday at 11:57:02 AM
11:57
https://jiminny.atlassian.net/browse/SRD-6848
https://jiminny.atlassian.net/browse/SRD-6848
- това е блокирано, а сторито в спринта е готово?
Jira Cloud
Jira Cloud
Jira Cloud Bug SRD-6848 Sidekick SMS issue Bug SRD-6848 in Jira Cloud Preview in Slack Status Blocked Assignee Lukas Kovalik(you) As of yesterday at 11:57 AM Refresh Open in Jira ✨ Summarise
Sidekick SMS issue
Bug SRD-6848 in Jira Cloud
Preview in Slack
Status
Blocked
Assignee
Lukas Kovalik
(you)
As of yesterday at 11:57 AM
Refresh
Open in Jira
✨ Summarise
Open in browser
Share Bug SRD-6848
View conversations
More actions
Lukas Kovalik
Yesterday at 11:58:08 AM
11:58 AM...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.5152925,"top":1.0,"width":0.011968086,"height":-0.058260202},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018949468,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.01761968,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.02925532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.5980718,"top":1.0,"width":0.0026595744,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.024268618,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.043882977,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.04454787,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.022273935,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.012300532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.010638298,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.034574468,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.027593086,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.025930852,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tomov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Todor Stamatov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Mario Georgiev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"James Graham","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":18,"bounds":{"left":0.61170214,"top":1.0,"width":0.030917553,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":18,"bounds":{"left":0.64361703,"top":1.0,"width":0.020944148,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Untitled","depth":18,"bounds":{"left":0.66589093,"top":1.0,"width":0.02925532,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Untitled","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More","depth":19,"bounds":{"left":0.6961436,"top":1.0,"width":0.020279255,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":18,"bounds":{"left":0.71642286,"top":1.0,"width":0.010638298,"height":-0.09177971},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":18,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":18,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":18,"on_screen":false,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Yesterday at 11:57:02 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:57","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://jiminny.atlassian.net/browse/SRD-6848","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"https://jiminny.atlassian.net/browse/SRD-6848","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- това е блокирано, а сторито в спринта е готово?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Jira Cloud","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Jira Cloud Bug SRD-6848 Sidekick SMS issue Bug SRD-6848 in Jira Cloud Preview in Slack Status Blocked Assignee Lukas Kovalik(you) As of yesterday at 11:57 AM Refresh Open in Jira ✨ Summarise","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sidekick SMS issue","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Bug SRD-6848 in Jira Cloud","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Preview in Slack","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Blocked","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Assignee","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(you)","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"As of yesterday at 11:57 AM","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Refresh","depth":28,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Jira","depth":28,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"✨ Summarise","depth":28,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Open in browser","depth":28,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share Bug SRD-6848","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View conversations","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More actions","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Yesterday at 11:58:08 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:58 AM","depth":25,"on_screen":true,"role_description":"text"}]...
|
-5469959353545069827
|
-8420328604805819248
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Stefka Stoyanova
Nikolay Yankov
Galya Dimitrova
Vasil Vasilev
Aneliya Angelova
Stoyan Tomov
Todor Stamatov
Mario Georgiev
Nikolay Ivanov
James Graham
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
More
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Yesterday at 11:57:02 AM
11:57
https://jiminny.atlassian.net/browse/SRD-6848
https://jiminny.atlassian.net/browse/SRD-6848
- това е блокирано, а сторито в спринта е готово?
Jira Cloud
Jira Cloud
Jira Cloud Bug SRD-6848 Sidekick SMS issue Bug SRD-6848 in Jira Cloud Preview in Slack Status Blocked Assignee Lukas Kovalik(you) As of yesterday at 11:57 AM Refresh Open in Jira ✨ Summarise
Sidekick SMS issue
Bug SRD-6848 in Jira Cloud
Preview in Slack
Status
Blocked
Assignee
Lukas Kovalik
(you)
As of yesterday at 11:57 AM
Refresh
Open in Jira
✨ Summarise
Open in browser
Share Bug SRD-6848
View conversations
More actions
Lukas Kovalik
Yesterday at 11:58:08 AM
11:58 AM
PnostorimFV faVsco.js°9 JY-20915-add-domain-specifiProletey@ Role pho© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpc) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.phpc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC) VoiceConsentPrefix.ohov _ Notiricationsv ActivitiesC) Available.onr© ExportViewed.php© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnM ActivitvDrovidersM AlAutomationD Calendarsm Channels0 Crm~ MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© ActivitvLiveCoachingNote.phpC) ActivitvMentioned.ohp(C) ActivitvNotloqged.ohoC) ActivitvScheduled.oho(C) ActivitvScored.oho(C) CoachRequested.ohoC) NewCustomerAoiToken.oho© Notifications/.../SmsReceived.php x © Mail/.../SmsReceived.phpsms-received.blade.phpuse Iuluminace noulticacions nociticaclonuse Jininny Models AccIVicyuse Jiminny Ma1l Activitles Smskecez1ved as Smsmallable:use Vinkla Hashids Facades Hashids'class Smsrecelved extends Notification 1mpLements Shouldoueveuse Queveable:* avar Activity Sactivitysusagesprivate Sactivity;• Create a new notification inctanco.public function __construct(Activity Sactivity)Sthis-sactivitv = Sactivicypublic tunction viasnotitlable: arrayreturn 'mall'"* Tru to oulz in the correspondina outbound message for this* @return (Lluminate Database ELoquent Modelnulu object/static1 usageprivate function getOutboundActivityOneturn Activitv.-wherpdiI+vne!Activity••TYPE SMS OUTROUND.'usen id!= Sthis->activitv->usen id.1->whereHasdreIto' function (Squenv) *Cauonv-swhono& colum'phone_number', $this->activity->from->phone_number);-sondonRyl collantual ctant timol_slatoc+@csfincto.* Get the mail representation of the notification.* Qparam mixed Snotifiablecustom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euy© TextRelayService.phpA console [STAGING]So jiminny v4246 ^ Y 663041 A1 A40 V65 ^SELECT * FROM automated_ report results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuzdi666 v— 669676672674677678687688L 689690104705select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team id = 2 and email Like "%scott%' and id = 2950*SEE * SROMIactivities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = vuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesEROM teyt nelavsWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP RY email nnoviden id:SELECT id, status, telephony_provider_id, created_atSOnM sntivitiocWHEPE id TN ([CREDIT_CARD])-SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416)=SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10SELECT id.uuid. status, code. sender, recipient. created at. uodated at.FROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656')[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numherOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.• lue 1y May 10.40.1/AskJiminnyReportActivityServiceTest -CascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..The text is in the email temolate at sms-received,olade, oho lline 37)<. how lext kelay works:Phase 1: Inbound SMS Received (Prospect → Jiminny User)• Prospect sends SMS to liminny user's softohone number• Twillo webhook hits Webhookcontroller::recelveo• Activity created with type TYPE SMS INBOUND• Received event fired (line 88)• CreateReceivedNot ificat ion listener sends email to userPhase 2: Email NotificationSmsReceived notification sends email using sms-received. b lade, php template• Email includes the message content and "To send a message back, just reply to this email."• Critical: The email has a special renlvTo addressrenivTo(smailhox 'a' confia('iiminnv.aoogle text host'))// Format: {to_number}.{from_number}.fencoded_activity_id}atxt.jiminny.com// Example: [EMAIL] 3: User Replies (Email → SMS).User replies to the email• Gmail receives reply at catch-all address• Gmail Pub/Sub pushes notification to Jiminny• TextRelavService::svnc() fetches new emails• EmailTextRelay job processes the reply:•Validates sender is the Jiminny user• Parses recipient to extract: to number. from number. activitv id•Sends SMS via Twilio back to prospect•Creates TYpE sMS outBoUnd activity3. Does Everv SMS Go Throuch This Flow?Yes, every INBOUND SMS triggers this flowLookina at WehhonkController:• receive() (line 89)•event(new Received(Sactivity));This event fires for ALL inbound SMS. The CreateReceivedNotification listener is registered in EventServiceProviderline 222) to handle everv Received event cendina the email notification with renlv canabilitvOutbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viawillo without emall relay.ExolainAccent alliPo. 4 space...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58878
|
2094
|
6
|
2026-05-19T13:45:33.083303+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198333083_m1.jpg...
|
Slack
|
Stefka Stoyanova (DM) - Jiminny Inc - 3 new items Stefka Stoyanova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.51180553,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"bounds":{"left":0.50625,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"bounds":{"left":0.5138889,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.50625,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"bounds":{"left":0.5159722,"top":0.26777777,"width":0.016666668,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.50625,"top":0.2911111,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.027083334,"height":0.015555556},"on_screen":true}]...
|
-7457134496557439989
|
-8120564398931363145
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
SlackFileEditViewGoHistoryWindowHelpAPPAPP (-zsl...ED• →DOCKER• ₴1DEV (docker)₴82(use "git restore<file>..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpHomeDMsActivityFilesno changes added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),done.remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-eventsUpdating 5604af40cf..177ea29b8dLater.••Moreorigin/JY-20origin/JY-20app/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonroutes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php10 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emaiJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of_jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelova. Stoyan TomovBs Todor Stamatov **d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToastlhl100% (8•Tue 19 May 16:45:32QDescribe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stuyanova 12:00PMясно, в друго сYesterdayправим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
58876
|
NULL
|
NULL
|
NULL
|
|
58879
|
2094
|
7
|
2026-05-19T13:45:36.370539+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198336370_m1.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, menu
Start Listening for PHP Debug Connections...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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}]...
|
2650197956680620431
|
-9209931286121555481
|
visual_change
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, menu
Start Listening for PHP Debug Connections
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.php48app/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.php208front-end/package.jsonfront-end/yarn.lock8routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelova. Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevLukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:45:35Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stuyanova 12:00PMясно, в друго сYesterday~, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58880
|
2095
|
10
|
2026-05-19T13:45:39.596156+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198339596_m2.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
2
6
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Notifications\Activities;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Notifications\Notification;
use Jiminny\Models\Activity;
use Jiminny\Mail\Activities\SmsReceEived as SmsMailable;
use Vinkla\Hashids\Facades\Hashids;
class SmsReceived extends Notification implements ShouldQueue
{
use Queueable;
/**
* @var Activity $activity
*/
private $activity;
/**
* Create a new notification instance.
*
*/
public function __construct(Activity $activity)
{
$this->activity = $activity;
}
public function via($notifiable): array
{
return ['mail'];
}
/**
* Try to pull in the corresponding outbound message for this.
*
* @return \Illuminate\Database\Eloquent\Model|null|object|static
*/
private function getOutboundActivity()
{
return Activity::where([
'type' => Activity::TYPE_SMS_OUTBOUND,
'user_id' => $this->activity->user_id,
])->whereHas('to', function ($query) {
$query->where('phone_number', $this->activity->from->phone_number);
})->orderBy('actual_start_time')->latest()->first();
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*/
public function toMail($notifiable): Mailable
{
// From should appear consistent with the number for conversation chaining in email client.
$from = ltrim($this->activity->from->phone_number, '+');
$to = ltrim($this->activity->to->phone_number, '+');
// The message format is always "sender.recipient".
$mailbox = $to . '.' . $from . '.' . Hashids::encode($this->activity->id);
return (new SmsMailable($this->activity, $this->getOutboundActivity()))
->to($notifiable->email)
->from($from . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name)
->replyTo($mailbox . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name);
}
}...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.11269947,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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":"2","depth":4,"bounds":{"left":0.39228722,"top":0.12529927,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.40226063,"top":0.12529927,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.4119016,"top":0.123703115,"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.4192154,"top":0.123703115,"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\nnamespace Jiminny\\Notifications\\Activities;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Notifications\\Notification;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Mail\\Activities\\SmsReceEived as SmsMailable;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass SmsReceived extends Notification implements ShouldQueue\n{\n use Queueable;\n\n /**\n * @var Activity $activity\n */\n private $activity;\n\n /**\n * Create a new notification instance.\n *\n */\n public function __construct(Activity $activity)\n {\n $this->activity = $activity;\n }\n\n public function via($notifiable): array\n {\n return ['mail'];\n }\n\n /**\n * Try to pull in the corresponding outbound message for this.\n *\n * @return \\Illuminate\\Database\\Eloquent\\Model|null|object|static\n */\n private function getOutboundActivity()\n {\n return Activity::where([\n 'type' => Activity::TYPE_SMS_OUTBOUND,\n 'user_id' => $this->activity->user_id,\n ])->whereHas('to', function ($query) {\n $query->where('phone_number', $this->activity->from->phone_number);\n })->orderBy('actual_start_time')->latest()->first();\n }\n\n /**\n * Get the mail representation of the notification.\n *\n * @param mixed $notifiable\n */\n public function toMail($notifiable): Mailable\n {\n // From should appear consistent with the number for conversation chaining in email client.\n $from = ltrim($this->activity->from->phone_number, '+');\n $to = ltrim($this->activity->to->phone_number, '+');\n\n // The message format is always \"sender.recipient\".\n $mailbox = $to . '.' . $from . '.' . Hashids::encode($this->activity->id);\n\n return (new SmsMailable($this->activity, $this->getOutboundActivity()))\n ->to($notifiable->email)\n ->from($from . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name)\n ->replyTo($mailbox . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name);\n }\n}","depth":4,"bounds":{"left":0.15724733,"top":0.0,"width":0.2975399,"height":1.0},"on_screen":true,"value":"<?php\n\nnamespace Jiminny\\Notifications\\Activities;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Notifications\\Notification;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Mail\\Activities\\SmsReceEived as SmsMailable;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass SmsReceived extends Notification implements ShouldQueue\n{\n use Queueable;\n\n /**\n * @var Activity $activity\n */\n private $activity;\n\n /**\n * Create a new notification instance.\n *\n */\n public function __construct(Activity $activity)\n {\n $this->activity = $activity;\n }\n\n public function via($notifiable): array\n {\n return ['mail'];\n }\n\n /**\n * Try to pull in the corresponding outbound message for this.\n *\n * @return \\Illuminate\\Database\\Eloquent\\Model|null|object|static\n */\n private function getOutboundActivity()\n {\n return Activity::where([\n 'type' => Activity::TYPE_SMS_OUTBOUND,\n 'user_id' => $this->activity->user_id,\n ])->whereHas('to', function ($query) {\n $query->where('phone_number', $this->activity->from->phone_number);\n })->orderBy('actual_start_time')->latest()->first();\n }\n\n /**\n * Get the mail representation of the notification.\n *\n * @param mixed $notifiable\n */\n public function toMail($notifiable): Mailable\n {\n // From should appear consistent with the number for conversation chaining in email client.\n $from = ltrim($this->activity->from->phone_number, '+');\n $to = ltrim($this->activity->to->phone_number, '+');\n\n // The message format is always \"sender.recipient\".\n $mailbox = $to . '.' . $from . '.' . Hashids::encode($this->activity->id);\n\n return (new SmsMailable($this->activity, $this->getOutboundActivity()))\n ->to($notifiable->email)\n ->from($from . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name)\n ->replyTo($mailbox . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
1760924543399613194
|
-8992488026988123420
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
2
6
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Notifications\Activities;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Notifications\Notification;
use Jiminny\Models\Activity;
use Jiminny\Mail\Activities\SmsReceEived as SmsMailable;
use Vinkla\Hashids\Facades\Hashids;
class SmsReceived extends Notification implements ShouldQueue
{
use Queueable;
/**
* @var Activity $activity
*/
private $activity;
/**
* Create a new notification instance.
*
*/
public function __construct(Activity $activity)
{
$this->activity = $activity;
}
public function via($notifiable): array
{
return ['mail'];
}
/**
* Try to pull in the corresponding outbound message for this.
*
* @return \Illuminate\Database\Eloquent\Model|null|object|static
*/
private function getOutboundActivity()
{
return Activity::where([
'type' => Activity::TYPE_SMS_OUTBOUND,
'user_id' => $this->activity->user_id,
])->whereHas('to', function ($query) {
$query->where('phone_number', $this->activity->from->phone_number);
})->orderBy('actual_start_time')->latest()->first();
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*/
public function toMail($notifiable): Mailable
{
// From should appear consistent with the number for conversation chaining in email client.
$from = ltrim($this->activity->from->phone_number, '+');
$to = ltrim($this->activity->to->phone_number, '+');
// The message format is always "sender.recipient".
$mailbox = $to . '.' . $from . '.' . Hashids::encode($this->activity->id);
return (new SmsMailable($this->activity, $this->getOutboundActivity()))
->to($notifiable->email)
->from($from . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name)
->replyTo($mailbox . '@' . config('jiminny.google_text_host'), $this->activity->prospect_name);
}
}...
|
58877
|
NULL
|
NULL
|
NULL
|
|
58881
|
2095
|
11
|
2026-05-19T13:45:49.366335+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198349366_m2.jpg...
|
PhpStorm
|
faVsco.js – Notifications/…/SmsReceived.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-rProiect©) WebhookController.pnp@ Role.pho© Notifications/.../SmsReceived.php x © Mail/.../SmsReceived.phpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpc) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.phpc) Usersertinas.onoc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© ExportViewed.php© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnM ActivitvDrovidersM AlAutomationD Calendarsm Channels0 CrmM Messages0 Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL](C) ActivitvNotloqged.oho© ActivitvScheduled.php(C) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerAoiToken.oho© TextRelayService.phpuse Iuluminace noulticacions nociticaclonuse Jininny Models AccIVicyuse Jiminny Ma1l Activitles SmsRecez1ved as Smsmallable:use Vinkla Hashids Facades Hashids'class Smsrecelved extends Notification 1mpLements Shouldoueveuse Queveable:* avar Activity Sactivitysusagesprivate Sactivity;• Create a new notification instanco.public function __construct(Activity Sactivity)Sthis-sactivitv = Sactivicypublic tunction viasnotitlable: arrayreturn 'mall'"* Tru to oulz in the correspondina outbound message for this* @return (Lluminate Database ELoquent Modelnulu object/static1 usageprivate function getOutboundActivityOneturn Activitv.-wherpdiI+vne!Activity••TYPS SMS OUTROUND.'usen id!= Sthis->activitv->usen id.1->whereHasdreIto' function (Squenv) *Cauonv-swhene & column:'phone_number', $this->activity->from->phone_number);-sondonRyl collantual ctant timol_slatoc+@csfincto.* Get the mail representation of the notification.* Qparam mixed Snotifiablemacter' hac heon rectored Il Pollback II Confiaure (1 hour adolА276AV=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console [PROD] X# console [euyA console [STAGING]So jiminny v041 A1 A40 V65 ^SELECT * FROM automated_report_ results WHERE uuid to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid666 v-- 669676672674675T676678687.688L 689690104select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team id = 2 and email Like "%scott%' and id = 2950*SEE * SROMIactivities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesEROM teyt nelavsWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP RY email nnoviden id:SELECT id, status, telephony_provider_id, created_atSOnM sntivitiocWHEPE id TN ([CREDIT_CARD])-SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10SELECT id.uuid. status, code. sender. recipient. created at. uodated at.FROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656')[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numherOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.CascadeFix AutomatedReportsCascadehal100% 5• Tue 19 May 16:45:49AskJiminnyReportActivityServiceTest vText Relay Email Routi+0 ..Explain phase 3. 1 am trying to understand that change needs to be done•Reiect allAccent allAsk anvthina (&4L)WN Windsurf Toams 10-27UTF.8io 4 spaces...
|
NULL
|
3741623238411507278
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-rProiect©) WebhookController.pnp@ Role.pho© Notifications/.../SmsReceived.php x © Mail/.../SmsReceived.phpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpc) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.phpc) Usersertinas.onoc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© ExportViewed.php© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnM ActivitvDrovidersM AlAutomationD Calendarsm Channels0 CrmM Messages0 Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL](C) ActivitvNotloqged.oho© ActivitvScheduled.php(C) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerAoiToken.oho© TextRelayService.phpuse Iuluminace noulticacions nociticaclonuse Jininny Models AccIVicyuse Jiminny Ma1l Activitles SmsRecez1ved as Smsmallable:use Vinkla Hashids Facades Hashids'class Smsrecelved extends Notification 1mpLements Shouldoueveuse Queveable:* avar Activity Sactivitysusagesprivate Sactivity;• Create a new notification instanco.public function __construct(Activity Sactivity)Sthis-sactivitv = Sactivicypublic tunction viasnotitlable: arrayreturn 'mall'"* Tru to oulz in the correspondina outbound message for this* @return (Lluminate Database ELoquent Modelnulu object/static1 usageprivate function getOutboundActivityOneturn Activitv.-wherpdiI+vne!Activity••TYPS SMS OUTROUND.'usen id!= Sthis->activitv->usen id.1->whereHasdreIto' function (Squenv) *Cauonv-swhene & column:'phone_number', $this->activity->from->phone_number);-sondonRyl collantual ctant timol_slatoc+@csfincto.* Get the mail representation of the notification.* Qparam mixed Snotifiablemacter' hac heon rectored Il Pollback II Confiaure (1 hour adolА276AV=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console [PROD] X# console [euyA console [STAGING]So jiminny v041 A1 A40 V65 ^SELECT * FROM automated_report_ results WHERE uuid to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid666 v-- 669676672674675T676678687.688L 689690104select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team id = 2 and email Like "%scott%' and id = 2950*SEE * SROMIactivities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesEROM teyt nelavsWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP RY email nnoviden id:SELECT id, status, telephony_provider_id, created_atSOnM sntivitiocWHEPE id TN ([CREDIT_CARD])-SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10SELECT id.uuid. status, code. sender. recipient. created at. uodated at.FROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656')[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numherOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.CascadeFix AutomatedReportsCascadehal100% 5• Tue 19 May 16:45:49AskJiminnyReportActivityServiceTest vText Relay Email Routi+0 ..Explain phase 3. 1 am trying to understand that change needs to be done•Reiect allAccent allAsk anvthina (&4L)WN Windsurf Toams 10-27UTF.8io 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58882
|
2095
|
12
|
2026-05-19T13:45:58.870691+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198358870_m2.jpg...
|
Firefox
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-rProiect©) WebhookController.pnp@ Role pho© Notifications/.../SmsReceived.php x © Mail/.../SmsReceived.phpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpc) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.phpc) Usersertinas.onoc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© ExportViewed.php© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnM ActivitvDrovidersM AlAutomationD Calendarsm Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL](C) ActivitvNotloqged.oho© ActivitvScheduled.phpC) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerApiToken.ohouse Iuluminace noulticacions nociticaclonuse Jininny Models AccIVicyuse Jiminny Ma1l Activitles SmsRecez1ved as Smsmallable:use Vinkla Hashids Facades Hashids'class Smsrecelved extends Notification 1mpLements Shouldoueveuse Queveable:* avar Activity Sactivitysusagesprivate Sactivity;• Create a new notification instanco.public function __construct(Activity Sactivity)Sthis-sactivitv = Sactivicypublic tunction viasnotitlable: arrayreturn 'mall'"* Tru to oulz in the correspondina outbound message for thisi* @return (Lluminate Database) ELoquent Modelnull object/static1 usageprivate function getOutboundActivityOneturn Activitv.-wherpdiI+vne!Activity••TYPE SMS OUTROUND.'usen id!= Sthis->activitv->usen id.1->whereHasdreIto' function (Squenv) *Cauonv-swhene & column:'phone_number', $this->activity->from->phone_number);-sondonRyl collantual ctant timol_slatoc+@csfincto.* Get the mail representation of the notification.* Qparam mixed Snotifiablemacter' hac heon rectored Il Pollback II Confiaure (1 hour adoihal100% 5• Tue 19 May 16:45:58U AskJiminnyReportActivityServiceTest vText Relay Email Rol+0 ..=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euy© TextRelayService.phpA console [STAGING]So jiminny vА276AV041 A1 A40 V65 ^SELECT * FROM automated_report results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuzdi666 v-- 669676672674675T676678687.688L 689690104select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team id = 2 and email Like "%scott%' and id = 29510*SEE * SROMIactivities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesEROM teyt nelavsWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP RY email nnoviden id:SELECT id, status, telephony_provider_id, created_atSOnM sntivitiocWHEPE id TN ([CREDIT_CARD])-SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10SELECT id.uuid. status, code. sender, recipient. created at. updatedat.FROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656')[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numherOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.CascadeFix AutomatedReportsCascadeThought for 3sRead WebhookController.phpThought for 2s>Searched sms._notification in ~/iminny/applext kelay riow explanationihe text is in the emall template at. smved.blade. php (line 37)2. How Text Relav Works:• Prospect sends Sms to Jiminny user's sortphone number•Activity created with type TYPE SMS INBOUND• Received event fired (line 88)rerrrekecen Veavercamaniiconer conbconttteserPhase 2: Email Notification• SmsRecerved notitication sends emall usina sms-recerved, o lade, ono temolate• Email includes the meccade content and "To send a meccade hack just renlv to this email."• Critical: The emall has a special replvto addresshohdreplyTo(Smallbox. a • contia('11minny.google text host'))bery.([EMAIL]/ Cxamole: 125490/090.090/094521.a0C125xyzaext.Lminny.comPhase 2. User Renliec (Fmail & SMS)• User renlies to the email• Gmall receives replv at catch-all address• Gmail Pub/Sub nuches notification to .liminnv• TextRelayservice:: synco tetches new emalls• EmailTextRelay job processes the reply:• Validates sender is the Jiminny use'•Parses recipient to extract: to_number, from number, activity_id• Sends SMS via Twilio back to prospect•Creates TYPE SMS OUTBOUND activity1 Nooe Cuom, CMC Ch Thennnh Thic ClauhYes, every INBOUND SMS triggers this flowLookina at WebhookController: : receive line 88):Ask anvthina (&4-L)« Code SWF-1.6Accent allWN Windsurf Teamc10-27UTE.8Po 4 spaces...
|
NULL
|
-478737575283055632
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-rProiect©) WebhookController.pnp@ Role pho© Notifications/.../SmsReceived.php x © Mail/.../SmsReceived.phpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.phpC) TeamFeature.pnp© TeamSettings.phpc) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.phpc) Usersertinas.onoc) Vocaoularv.ohoC) VocabularvPronunciation.onv(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© ExportViewed.php© MailBoxFailedToConnect.php© NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnM ActivitvDrovidersM AlAutomationD Calendarsm Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© [EMAIL](C) ActivitvNotloqged.oho© ActivitvScheduled.phpC) ActivitvScored.oho(C) ActivitvShared.ono(C) CoachRequested.ohoC) NewCustomerApiToken.ohouse Iuluminace noulticacions nociticaclonuse Jininny Models AccIVicyuse Jiminny Ma1l Activitles SmsRecez1ved as Smsmallable:use Vinkla Hashids Facades Hashids'class Smsrecelved extends Notification 1mpLements Shouldoueveuse Queveable:* avar Activity Sactivitysusagesprivate Sactivity;• Create a new notification instanco.public function __construct(Activity Sactivity)Sthis-sactivitv = Sactivicypublic tunction viasnotitlable: arrayreturn 'mall'"* Tru to oulz in the correspondina outbound message for thisi* @return (Lluminate Database) ELoquent Modelnull object/static1 usageprivate function getOutboundActivityOneturn Activitv.-wherpdiI+vne!Activity••TYPE SMS OUTROUND.'usen id!= Sthis->activitv->usen id.1->whereHasdreIto' function (Squenv) *Cauonv-swhene & column:'phone_number', $this->activity->from->phone_number);-sondonRyl collantual ctant timol_slatoc+@csfincto.* Get the mail representation of the notification.* Qparam mixed Snotifiablemacter' hac heon rectored Il Pollback II Confiaure (1 hour adoihal100% 5• Tue 19 May 16:45:58U AskJiminnyReportActivityServiceTest vText Relay Email Rol+0 ..=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euy© TextRelayService.phpA console [STAGING]So jiminny vА276AV041 A1 A40 V65 ^SELECT * FROM automated_report results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuzdi666 v-- 669676672674675T676678687.688L 689690104select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team id = 2 and email Like "%scott%' and id = 29510*SEE * SROMIactivities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesEROM teyt nelavsWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP RY email nnoviden id:SELECT id, status, telephony_provider_id, created_atSOnM sntivitiocWHEPE id TN ([CREDIT_CARD])-SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10SELECT id.uuid. status, code. sender, recipient. created at. updatedat.FROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656')[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numherOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.CascadeFix AutomatedReportsCascadeThought for 3sRead WebhookController.phpThought for 2s>Searched sms._notification in ~/iminny/applext kelay riow explanationihe text is in the emall template at. smved.blade. php (line 37)2. How Text Relav Works:• Prospect sends Sms to Jiminny user's sortphone number•Activity created with type TYPE SMS INBOUND• Received event fired (line 88)rerrrekecen Veavercamaniiconer conbconttteserPhase 2: Email Notification• SmsRecerved notitication sends emall usina sms-recerved, o lade, ono temolate• Email includes the meccade content and "To send a meccade hack just renlv to this email."• Critical: The emall has a special replvto addresshohdreplyTo(Smallbox. a • contia('11minny.google text host'))bery.([EMAIL]/ Cxamole: 125490/090.090/094521.a0C125xyzaext.Lminny.comPhase 2. User Renliec (Fmail & SMS)• User renlies to the email• Gmall receives replv at catch-all address• Gmail Pub/Sub nuches notification to .liminnv• TextRelayservice:: synco tetches new emalls• EmailTextRelay job processes the reply:• Validates sender is the Jiminny use'•Parses recipient to extract: to_number, from number, activity_id• Sends SMS via Twilio back to prospect•Creates TYPE SMS OUTBOUND activity1 Nooe Cuom, CMC Ch Thennnh Thic ClauhYes, every INBOUND SMS triggers this flowLookina at WebhookController: : receive line 88):Ask anvthina (&4-L)« Code SWF-1.6Accent allWN Windsurf Teamc10-27UTE.8Po 4 spaces...
|
58881
|
NULL
|
NULL
|
NULL
|
|
58883
|
2095
|
13
|
2026-05-19T13:46:03.984233+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198363984_m2.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeKeractorTOOISWindowmelpFV PhostormVIewINavicarecodeKeractorTOOISWindowmelpFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reProiect©) WebhookController.pnp@ Role.pho© Notifications/.../SmsReceived.php X(c) Mail..SmsReceived.pnpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php©Team.php© TeamAiContext.php© TeamDomain.php© TeamFeature.php© TeamSettings.phpC) TextRelay.php(c) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.php@ UserSettinas.phpc) Vocaoularv.oho© VocabularyPronunciation.php(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.php@ NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnSmsReceived.phpM ActivitvDrovidersM AlAutomation0 CalendarsD Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© ActivitvLiveCoachingNote.php© ActivitvMentioned.php(C) ActivitvNotloqged.oho© ActivitvScheduled.php(C) [EMAIL](C) CoachRequested.ohoC) NewCustomerAoiToken.oho© TextRelayService.phpnamespace Jiminny Notitications Activ1tles:use Illuminate Bus Queueable:use Illuminate Contracts Queue Shouldoueue:use Illuminate Mail MallableuseLumanate Notirications Notrication:Jiminny MaLl ACCIVICles smskececived as smshallableruse Jiminny Mail\Activities\SmsReceived as SmsMailable;use Vinkla \Hashids\Facades\Hashids;class SmsReceived extends Notification implements ShouldQueueuse uueveable,* Avar Activity Sactivituprivate sactivitypublic function construct(Activity Sactivitv)sthis-sactivitv = sactivitypublic function via(Snotifiable): arrayeturn f'mail'le* Try to pull in the corresponding outbound message for this.* @return \Illuminate Database\Eloquent\Model/null/object/staticprivate function getOutboundActivityonotunn Aotiustueeuhonoff'type' +> Actavitya:1 ~ Accept File &+- Ux Reiect File 4 & g'user id' => Sthis->actaivifty->use+ 3 of 3 files →Workenace accociated with hranch 'macter' hac heon rectored Il Pollback II Confiaure (1 hour ado)Rerect=custom.log= laravel.logA SF [jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euyA console [STAGING]Tx: AutovSo jiminny v041 A1 A40 V65 ^SEL* FIoMautomatea-neport.nesulieWhe t--t%0et5151=mute666 v ,888706select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atEonM antivitiocWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uvid, status, code, sender, recipient, created_at, updated_atFROM text_relaysWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenORDER BY sms_count DESCcolort + fnom toame whone id = 1.colort + fnom nolec,hal100% 5• Tue 19 May 16:46:03AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rol+0 ..Thought for 2sSearched sms notirication in ~/iminny apcText Relay Flow ExplanationTne text is in the emall template at. sms-recezved. o lade. onp uine 3/.2. How Text Relav Works• Prospect sends SMS to Jiminny user's softphone number• Activity created with type TYPE SMS INBOUNDRecerved event tired line 88• GreateReceivedNotification listener condc email to ucerPhase 2: Emall Notification• Email includes the message content and "To send a message back. just replv to this email.•Critical: The email has a special replyTo addresshphoreplyTo($mailbox . '@' . config('jiminny-google_text_host'))1/ Cxample: 125450/090.098/[EMAIL] 3: User Replies (Emall → SMS)• User replies to the emai•Gmail receives reply at catch-all addressGmail Pub/Sub oushes notitication to Jiminnv• TextRelayService:: sync() fetches new emails• Emai TextRelav iob processes the reolv.• Validates sender is the Jiminny use'Parces recinient to eytract. to number from number activitv idl• Sends SMS via Twilio back to prospectiCreates Typr SMS OuITROUND activitv2 Dooe Guery CMC Co Throunh Thie Elow2Yes. everv INROUND SMS triaders this flowLooking at WebhookController:: receive() (line 88):event new Received (Sactivity)):* Reiect allAccent alliAsk anvthing 884-D)« Code SWF-1.6WN Windsurf Teamc10-1UTE.8Po 4 spaces...
|
NULL
|
5746961619100339012
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormVIewINavicarecodeKeractorTOOISWindowmelpFV PhostormVIewINavicarecodeKeractorTOOISWindowmelpFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reProiect©) WebhookController.pnp@ Role.pho© Notifications/.../SmsReceived.php X(c) Mail..SmsReceived.pnpsms-received.blade.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php©Team.php© TeamAiContext.php© TeamDomain.php© TeamFeature.php© TeamSettings.phpC) TextRelay.php(c) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.php@ UserSettinas.phpc) Vocaoularv.oho© VocabularyPronunciation.php(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.php@ NotifyContributor.php© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnSmsReceived.phpM ActivitvDrovidersM AlAutomation0 CalendarsD Channels0 CrmM MessagesC Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© ActivitvLiveCoachingNote.php© ActivitvMentioned.php(C) ActivitvNotloqged.oho© ActivitvScheduled.php(C) [EMAIL](C) CoachRequested.ohoC) NewCustomerAoiToken.oho© TextRelayService.phpnamespace Jiminny Notitications Activ1tles:use Illuminate Bus Queueable:use Illuminate Contracts Queue Shouldoueue:use Illuminate Mail MallableuseLumanate Notirications Notrication:Jiminny MaLl ACCIVICles smskececived as smshallableruse Jiminny Mail\Activities\SmsReceived as SmsMailable;use Vinkla \Hashids\Facades\Hashids;class SmsReceived extends Notification implements ShouldQueueuse uueveable,* Avar Activity Sactivituprivate sactivitypublic function construct(Activity Sactivitv)sthis-sactivitv = sactivitypublic function via(Snotifiable): arrayeturn f'mail'le* Try to pull in the corresponding outbound message for this.* @return \Illuminate Database\Eloquent\Model/null/object/staticprivate function getOutboundActivityonotunn Aotiustueeuhonoff'type' +> Actavitya:1 ~ Accept File &+- Ux Reiect File 4 & g'user id' => Sthis->actaivifty->use+ 3 of 3 files →Workenace accociated with hranch 'macter' hac heon rectored Il Pollback II Confiaure (1 hour ado)Rerect=custom.log= laravel.logA SF [jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euyA console [STAGING]Tx: AutovSo jiminny v041 A1 A40 V65 ^SEL* FIoMautomatea-neport.nesulieWhe t--t%0et5151=mute666 v ,888706select * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161#and id = 32412:select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atEonM antivitiocWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uvid, status, code, sender, recipient, created_at, updated_atFROM text_relaysWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenORDER BY sms_count DESCcolort + fnom toame whone id = 1.colort + fnom nolec,hal100% 5• Tue 19 May 16:46:03AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rol+0 ..Thought for 2sSearched sms notirication in ~/iminny apcText Relay Flow ExplanationTne text is in the emall template at. sms-recezved. o lade. onp uine 3/.2. How Text Relav Works• Prospect sends SMS to Jiminny user's softphone number• Activity created with type TYPE SMS INBOUNDRecerved event tired line 88• GreateReceivedNotification listener condc email to ucerPhase 2: Emall Notification• Email includes the message content and "To send a message back. just replv to this email.•Critical: The email has a special replyTo addresshphoreplyTo($mailbox . '@' . config('jiminny-google_text_host'))1/ Cxample: 125450/090.098/[EMAIL] 3: User Replies (Emall → SMS)• User replies to the emai•Gmail receives reply at catch-all addressGmail Pub/Sub oushes notitication to Jiminnv• TextRelayService:: sync() fetches new emails• Emai TextRelav iob processes the reolv.• Validates sender is the Jiminny use'Parces recinient to eytract. to number from number activitv idl• Sends SMS via Twilio back to prospectiCreates Typr SMS OuITROUND activitv2 Dooe Guery CMC Co Throunh Thie Elow2Yes. everv INROUND SMS triaders this flowLooking at WebhookController:: receive() (line 88):event new Received (Sactivity)):* Reiect allAccent alliAsk anvthing 884-D)« Code SWF-1.6WN Windsurf Teamc10-1UTE.8Po 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58884
|
2094
|
8
|
2026-05-19T13:46:09.596881+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198369596_m1.jpg...
|
Firefox
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:46:09Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
-4316762704498282161
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:46:09Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
58879
|
NULL
|
NULL
|
NULL
|
|
58885
|
2095
|
14
|
2026-05-19T13:46:09.957372+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198369957_m2.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reProiect©) WebhookController.pnp@ Role.phoNourications//smskecelveo.png© Mail/.../SmsReceived.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php©Team.php© TeamAiContext.php© TeamDomain.php© TeamFeature.php© TeamSettings.phpC) TextRelay.php(c) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.php© UserSettinas.phpc) Vocaoularv.oho© VocabularyPronunciation.php(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.phpC) NotitvContributor.oho© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnSmsReceived.phpM ActivitvDrovidersM AlAutomation0 CalendarsD Channels0 CrmM Messages0 Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© ActivityLiveCoachingNote.php© ActivitvMentioned.php(C) ActivitvNotloqged.oho© ActivitvScheduled.phpC) [EMAIL](C) CoachRequested.ohoC) NewCustomerApiToken.ohoWorkcnace accociated with hranch 'macter' hac heon rectored Il Pollback II Confiaure (1 hour adolCreateReceivedNotification.php=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euysms-received.blade.php© TextRelayService.php XA console [STAGING]Tx: AutovSo jiminny v941 A1 A40 V 65 ^SELECT * FROMautomated-neportnesulis WeeRt mmio.to uint o ata4l-ataa%-0ests151mue:public function -_constructol...666 v**V**Fetch the latest messages since the last sync668669670public function sync): array672$mailbox = config('jiminny.google_text_user');$expectedRecipient = Smailbox . '@'. config('jiminny.google_text_host');674675676sservice = schls->oerservicesmallooxSmessagehistory = schis->gethistorysserviceSmessageIds = []:foreach ($messageHistory as $histories) {omessages = shistorzes->messacesadded:683684685foreach Smessages as Smessage) <Smessageld = Smessage->message->id687if (ISthis->isForCurrentEnvironment(Sservice, Smailbox. Smessageld, SexnectedRecipient) 688689SrelavedText = TextRelav: :where('email nroviden id' Smessageld)->finsto•if SrelavedText zz= null ≤ISrelavedText = TextRelav:createdfl695= TeytRelav: •pROVTnEp CCuTTElemail nnoviden idi => SmeccanoTdi697'status' => TextRelay::STATUS_PROCESSING,Siob = (new EmailTextRelay(SmessageId, SrelayedText))-›onQueue(Constants: : QUEUE EMAILS) 702699— 700701703dispatch(Sjob):705SmessageIds[] = SmessageId:return Sinessage eits +Accept File &+X Reject File 4%€+ 1of 3 files →select * from text_relays where created_at > '2026-01-01';and id IN (32415, 32416);# and id = 32412;select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atSpnM activitiodWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uuid, status, code, sender, recipient. created at. updated atFROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_idWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec,100% 5• Tue 19 May 16:46:09AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rol+0 ..Thought for 2sSearched sms notirication in ~/iminny apcText Relay Flow ExplanationTne text is in the emall template at. sms-recezved. o lade. onp uine 3/.2. How Text Relav Works• Prospect sends SMS to Jiminny user's softphone number• Activity created with type TYPE SMS INBOUNDRecerved event tired line 88• GreateReceivedNotification listener conds email to ucerPhase 2: Emall Notification• SmsReceived notification sends emall using sms-received. b lade. php template• Email includes the message content and "To send a message back. just reply to this email."•Critical: The email has a special replyTo addresshphoreplyTo($mailbox . '@' . config('jiminny.google_text_host'))1/ Cxample: 125450/090.098/[EMAIL] 3: User Replies (Emall → SMS)• User replies to the emaiGmall receives repiy at catch-all adkrace• Gmail Pub/Sub pushes notification to liminnvTextRelayService::sync(J) fetchec new emaileEmailTextRelay job processes the replv:Validates sender is the Jiminny user• Parses recipient to extract: to_fumber from number activity id•Sends SMS via Twilio back to plospectGreates TYPE SMS OUTBOUND ACrivity3. Does Every SMS Go Through This Fibw?Yes. everv INROUND SMS triaders this flowLooking at WebhookController:: receive() (line 88):event new Received (Sactivity)):* Reiect allAccent alliAsk anvthina (884-L)« Code SWF-1.6W Windsurf Toams 22-8/1202 charc 42 line hreakelUTE.8Po 4 spaces...
|
NULL
|
3448790217513294506
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reProiect©) WebhookController.pnp@ Role.phoNourications//smskecelveo.png© Mail/.../SmsReceived.php© RoleChangeEvent.php© ScopeGroup.php© Session.php(C) Sack&ot.oho© SocialAccount.php© Stage.php© Task.php©Team.php© TeamAiContext.php© TeamDomain.php© TeamFeature.php© TeamSettings.phpC) TextRelay.php(c) Irack.php© TranscriptionModel.phpc) IranscriptionmodelLocale.oho© TranscriptionProvider.phpc) User.php© UserSettinas.phpc) Vocaoularv.oho© VocabularyPronunciation.php(C) VoiceAccess.ohoC)VoiceConsentPretix.ohov _ Notiricationsv ActivitiesC) Available.onr© EyportViewed.ohn© MailBoxFailedToConnect.phpC) NotitvContributor.oho© ParticipantDeclinedRecording.php@ PreMeetinaReminder.ohnSmsReceived.phpM ActivitvDrovidersM AlAutomation0 CalendarsD Channels0 CrmM Messages0 Playlistsm Tracks© ActivityCommented.php© ActivityLiveCoached.php© ActivityLiveCoachingNote.php© ActivitvMentioned.php(C) ActivitvNotloqged.oho© ActivitvScheduled.phpC) [EMAIL](C) CoachRequested.ohoC) NewCustomerApiToken.ohoWorkcnace accociated with hranch 'macter' hac heon rectored Il Pollback II Confiaure (1 hour adolCreateReceivedNotification.php=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euysms-received.blade.php© TextRelayService.php XA console [STAGING]Tx: AutovSo jiminny v941 A1 A40 V 65 ^SELECT * FROMautomated-neportnesulis WeeRt mmio.to uint o ata4l-ataa%-0ests151mue:public function -_constructol...666 v**V**Fetch the latest messages since the last sync668669670public function sync): array672$mailbox = config('jiminny.google_text_user');$expectedRecipient = Smailbox . '@'. config('jiminny.google_text_host');674675676sservice = schls->oerservicesmallooxSmessagehistory = schis->gethistorysserviceSmessageIds = []:foreach ($messageHistory as $histories) {omessages = shistorzes->messacesadded:683684685foreach Smessages as Smessage) <Smessageld = Smessage->message->id687if (ISthis->isForCurrentEnvironment(Sservice, Smailbox. Smessageld, SexnectedRecipient) 688689SrelavedText = TextRelav: :where('email nroviden id' Smessageld)->finsto•if SrelavedText zz= null ≤ISrelavedText = TextRelav:createdfl695= TeytRelav: •pROVTnEp CCuTTElemail nnoviden idi => SmeccanoTdi697'status' => TextRelay::STATUS_PROCESSING,Siob = (new EmailTextRelay(SmessageId, SrelayedText))-›onQueue(Constants: : QUEUE EMAILS) 702699— 700701703dispatch(Sjob):705SmessageIds[] = SmessageId:return Sinessage eits +Accept File &+X Reject File 4%€+ 1of 3 files →select * from text_relays where created_at > '2026-01-01';and id IN (32415, 32416);# and id = 32412;select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atSpnM activitiodWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id, status.code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uuid, status, code, sender, recipient. created at. updated atFROM text relavsWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_idWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec,100% 5• Tue 19 May 16:46:09AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rol+0 ..Thought for 2sSearched sms notirication in ~/iminny apcText Relay Flow ExplanationTne text is in the emall template at. sms-recezved. o lade. onp uine 3/.2. How Text Relav Works• Prospect sends SMS to Jiminny user's softphone number• Activity created with type TYPE SMS INBOUNDRecerved event tired line 88• GreateReceivedNotification listener conds email to ucerPhase 2: Emall Notification• SmsReceived notification sends emall using sms-received. b lade. php template• Email includes the message content and "To send a message back. just reply to this email."•Critical: The email has a special replyTo addresshphoreplyTo($mailbox . '@' . config('jiminny.google_text_host'))1/ Cxample: 125450/090.098/[EMAIL] 3: User Replies (Emall → SMS)• User replies to the emaiGmall receives repiy at catch-all adkrace• Gmail Pub/Sub pushes notification to liminnvTextRelayService::sync(J) fetchec new emaileEmailTextRelay job processes the replv:Validates sender is the Jiminny user• Parses recipient to extract: to_fumber from number activity id•Sends SMS via Twilio back to plospectGreates TYPE SMS OUTBOUND ACrivity3. Does Every SMS Go Through This Fibw?Yes. everv INROUND SMS triaders this flowLooking at WebhookController:: receive() (line 88):event new Received (Sactivity)):* Reiect allAccent alliAsk anvthina (884-L)« Code SWF-1.6W Windsurf Toams 22-8/1202 charc 42 line hreakelUTE.8Po 4 spaces...
|
58883
|
NULL
|
NULL
|
NULL
|
|
58886
|
2094
|
9
|
2026-05-19T13:46:14.540020+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198374540_m1.jpg...
|
Firefox
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.php484208front-end/package.jsonfront-end/yarn.lock8routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:46:14Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
-1215840596050712705
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.php484208front-end/package.jsonfront-end/yarn.lock8routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:46:14Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58888
|
2095
|
15
|
2026-05-19T13:46:20.606482+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198380606_m2.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reroledey©) WebhookController.pnpCreateReceivedNotification.php=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euyo umod ectsresoiver.ong© DefaultProspectSearchStrategy.php@ cmallhelper.ong(C) Notifications/.../SmsReceived.ong© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.php xA console [STAGING]u rinosprospecuintenace.onpc Layoutmanager.pnp@ machbomainbymallintenace.pnpOpponunityAcuivitymatcher.pnpw Opponunitvsyncstrarecvintenace.ono) Opponunilvsyncstralecvresolver.ono@ ProspectSearchScope.phpC) ProspectSearchStrateavFactorv.phoProspectSearchStrategvintertace.ohoC) ProviderReaistrv.pho@ RecordSelector.ohnT ResolveComoanvNameBv=mailtrait.ohoC) TimePerioditerator.ohoM imoorM Internalm Kioskv MAutomatedRenorte© ActivityTypeService.php© AskJiminnyReportActivityService.php© AutomatedReportsCallbackService.ph© AutomatedReportsService.php© DealStagesService.php(e) PecinientsService.ono() RenortSort.pnpekeponsonbirection.ong© KioskService.phpv C Mail>@ Actions>0 Office> 0 Repositories> → Resolversairaits> M ValidatorsC) BatchCriteria.oho1BatchCriterialnterface.ohoC) BatchService.oho1BatchServicelnterface.oho@ EmailActivityService.php1SmailActivitvServicelnterface.ohn© EmailMessage.php(1EmailMeccagelnterface.nhng InboyService.nhn© [EMAIL](C) Mailchanne|Service nhn(C TovtDolavCorvico nhnM MootinaConorator• M NotifinationTx: AutovSo jiminny v041 A1 A40 V65 ^SELECT * FROMautomated-neport.nesulieWeer t-.4-t94-0et5151=m0tepublic function__constructOf...H666 vselect * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161/*** Fetch the latest messages since the last sync.668#and id = 32412:669670select * from users where team_id = 2 and email like '%scott%' and id = 29510;public tunccion synco: array671672SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436smarlbox = contiol key: J1minny.900gle cexc user.SexpectedRecipient = Smailbox .'@' . config( key: 'jiminny.google_text_host'); Accept Reject674SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statuses675676v = Sthis-›qethistorv(Sservice)677Smessagelids = U678FROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42',119e2033ed8ea6h10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atSpnM activitiodForeach smessage.nstorv as Shistories) <680681Smessages = Shistories->messagesAdded:foreach (Smessages as Smessage) 1$messageld = Smessage->message->id;684685if (!$this->isForCurrentEnvironment($service, $mailbox, Smessageld, $expectedRecipient)686687688689690SrelayedText = TextRelay::where( column: 'email_provider_id', SmessageId)->firstO:691if (SrelayedText === null) {SrelayedText = TextRelay::create(['email provider' => TextRelay::PROVIDER_GSUITE692._693_694695emart provlder10 => smessacela'status' => TextRelay::STATUS_PROCESSING.696697690Stob = (new EmailTextRelav(SmessageTd, SrelavedText)) -›onQueue( queue: Constants: : OUEUEL E, 700701dasoatches100)702703Smessagelds" = Smessageiidi=704npturn Smeccagelds:+ 1 of 3 edits JAccept File &+X Reject File 4%€+ 1 of 3 files →WHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id,status,code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uuid, status, code, sender, recipient. created at. updated atFROM text_relaysWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.100% 5• Tue 19 May 16:46:20AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..Thouaht for 3sTnougnelor 4sSearched email.*notification.*sms in ~/jiminny/appThought for 2s >Text Relay Flow Explanation1. "To send a message back, just reply to this email." LocationThe text is in the email template at: sms-received.blade.php (line 37)Phase 1: Inbound SMS Received (Prospect → Jiminny User)• Prospect sends SMS to Jiminny user's softphone number• Twilio webhook hits WebhookController::receive0l•Activity created with type TYPE SMS INBOUND• Received event fired (line 88• Creacekecelvedvotir icat ion listener sends email to ucorPhase 2: Emall Notitication• SmsReceived notification sends emall using sms-received. b lade. php template• Email includes the mescade content and "To send a messade hack. just reniv to this email "• Critical: The email has a special replyto adaress:hohdreplyTo(Smailbox. 'a' , config('jiminny.google text host'))Format: tonumber?.fromnumber..encoded_activity_id'atxt.iiminnv.com// Example: [EMAIL] 3. User Renlies (Fmail > SMS)• User renlies to the emai•Gmail receives reply at catch-all addressGmail Pub/Suh nuches notification to .liminnv.TextRelayService:: sync() fetches new emails• Ema i TextRelav ioh orocesses the reniv.Validates sender is the Jiminny useParces recinient to extract. to number from number activitv idl•Sends SMS via Twilio back to prospectGreates Typr cMC. outRouNn activitv3. Does Every SMS Go Through This Flow?Yes. everv INROUND SMS triaders this flowLooking at WebhookController:: receive() (line 88):event new Received (Sactivity)):* Reiect alliiAccent alliAsk anvthing 884-D)« Code SWF-1.6WN Windsurf Teams22-8UTF.8Po 4 spaces...
|
NULL
|
208278183366274442
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-a PhostormVIewINavicarecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reroledey©) WebhookController.pnpCreateReceivedNotification.php=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euyo umod ectsresoiver.ong© DefaultProspectSearchStrategy.php@ cmallhelper.ong(C) Notifications/.../SmsReceived.ong© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.php xA console [STAGING]u rinosprospecuintenace.onpc Layoutmanager.pnp@ machbomainbymallintenace.pnpOpponunityAcuivitymatcher.pnpw Opponunitvsyncstrarecvintenace.ono) Opponunilvsyncstralecvresolver.ono@ ProspectSearchScope.phpC) ProspectSearchStrateavFactorv.phoProspectSearchStrategvintertace.ohoC) ProviderReaistrv.pho@ RecordSelector.ohnT ResolveComoanvNameBv=mailtrait.ohoC) TimePerioditerator.ohoM imoorM Internalm Kioskv MAutomatedRenorte© ActivityTypeService.php© AskJiminnyReportActivityService.php© AutomatedReportsCallbackService.ph© AutomatedReportsService.php© DealStagesService.php(e) PecinientsService.ono() RenortSort.pnpekeponsonbirection.ong© KioskService.phpv C Mail>@ Actions>0 Office> 0 Repositories> → Resolversairaits> M ValidatorsC) BatchCriteria.oho1BatchCriterialnterface.ohoC) BatchService.oho1BatchServicelnterface.oho@ EmailActivityService.php1SmailActivitvServicelnterface.ohn© EmailMessage.php(1EmailMeccagelnterface.nhng InboyService.nhn© [EMAIL](C) Mailchanne|Service nhn(C TovtDolavCorvico nhnM MootinaConorator• M NotifinationTx: AutovSo jiminny v041 A1 A40 V65 ^SELECT * FROMautomated-neport.nesulieWeer t-.4-t94-0et5151=m0tepublic function__constructOf...H666 vselect * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161/*** Fetch the latest messages since the last sync.668#and id = 32412:669670select * from users where team_id = 2 and email like '%scott%' and id = 29510;public tunccion synco: array671672SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436smarlbox = contiol key: J1minny.900gle cexc user.SexpectedRecipient = Smailbox .'@' . config( key: 'jiminny.google_text_host'); Accept Reject674SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statuses675676v = Sthis-›qethistorv(Sservice)677Smessagelids = U678FROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42',119e2033ed8ea6h10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atSpnM activitiodForeach smessage.nstorv as Shistories) <680681Smessages = Shistories->messagesAdded:foreach (Smessages as Smessage) 1$messageld = Smessage->message->id;684685if (!$this->isForCurrentEnvironment($service, $mailbox, Smessageld, $expectedRecipient)686687688689690SrelayedText = TextRelay::where( column: 'email_provider_id', SmessageId)->firstO:691if (SrelayedText === null) {SrelayedText = TextRelay::create(['email provider' => TextRelay::PROVIDER_GSUITE692._693_694695emart provlder10 => smessacela'status' => TextRelay::STATUS_PROCESSING.696697690Stob = (new EmailTextRelav(SmessageTd, SrelavedText)) -›onQueue( queue: Constants: : OUEUEL E, 700701dasoatches100)702703Smessagelds" = Smessageiidi=704npturn Smeccagelds:+ 1 of 3 edits JAccept File &+X Reject File 4%€+ 1 of 3 files →WHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id,status,code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uuid, status, code, sender, recipient. created at. updated atFROM text_relaysWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.100% 5• Tue 19 May 16:46:20AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..Thouaht for 3sTnougnelor 4sSearched email.*notification.*sms in ~/jiminny/appThought for 2s >Text Relay Flow Explanation1. "To send a message back, just reply to this email." LocationThe text is in the email template at: sms-received.blade.php (line 37)Phase 1: Inbound SMS Received (Prospect → Jiminny User)• Prospect sends SMS to Jiminny user's softphone number• Twilio webhook hits WebhookController::receive0l•Activity created with type TYPE SMS INBOUND• Received event fired (line 88• Creacekecelvedvotir icat ion listener sends email to ucorPhase 2: Emall Notitication• SmsReceived notification sends emall using sms-received. b lade. php template• Email includes the mescade content and "To send a messade hack. just reniv to this email "• Critical: The email has a special replyto adaress:hohdreplyTo(Smailbox. 'a' , config('jiminny.google text host'))Format: tonumber?.fromnumber..encoded_activity_id'atxt.iiminnv.com// Example: [EMAIL] 3. User Renlies (Fmail > SMS)• User renlies to the emai•Gmail receives reply at catch-all addressGmail Pub/Suh nuches notification to .liminnv.TextRelayService:: sync() fetches new emails• Ema i TextRelav ioh orocesses the reniv.Validates sender is the Jiminny useParces recinient to extract. to number from number activitv idl•Sends SMS via Twilio back to prospectGreates Typr cMC. outRouNn activitv3. Does Every SMS Go Through This Flow?Yes. everv INROUND SMS triaders this flowLooking at WebhookController:: receive() (line 88):event new Received (Sactivity)):* Reiect alliiAccent alliAsk anvthing 884-D)« Code SWF-1.6WN Windsurf Teams22-8UTF.8Po 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58887
|
2094
|
10
|
2026-05-19T13:46:20.633125+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198380633_m1.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.php484208front-end/package.jsonfront-end/yarn.lock8routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:46:20Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
1326718257514053749
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.php484208front-end/package.jsonfront-end/yarn.lock8routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:46:20Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
58886
|
NULL
|
NULL
|
NULL
|
|
58889
|
2094
|
11
|
2026-05-19T13:46:52.461268+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198412461_m1.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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":"AXTextArea","text":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"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}]...
|
2164163209700179981
|
1347925215769756459
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58890
|
2095
|
16
|
2026-05-19T13:46:55.395653+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198415395_m2.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeWindowFV faVsco.js°9 JY-2 PhostormVIewINavicarecodeWindowFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reroledey(C) WebhookController.pnpCreateReceivedNotification.php=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [eu)o umod ectsresoiver.ong© DefaultProspectSearchStrategy.php@ cmallhelper.ongu rinosProspecuintenace.onpNounications//Smskecelvea.onp© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.php XA console [STAGING]c Layoutmanager.pnp@ machbomainbymallintenace.pnpOpporunityAcuivitymatcher.onpw Opponunitvsyncstrarecvintenace.ono) Opponunilvsyncstralecvresolver.ono@ ProspectSearchScope.phpC) ProspectSearchStrateavFactorv.phoProspectSearchStrategvintertace.ohoC) ProviderReaistrv.ohp@ RecordSelector.ohnT ResolveComoanvNameBvEmalltrait.ohoC) TimePerioditerator.ohoM imoorM Internalm Kioskv MAutomatedRenorte© ActivityTypeService.php© AskJiminnyReportActivityService.php© AutomatedReportsCallbackService.ph© AutomatedReportsService.phpc) DealStadesService.ong(e) PecinientsService.ono() RenortSort.pnpekeponsonbirection.ono© KioskService.phpv C Mail>@ Actions>0 Office> 0 Repositories> → Resolversraits> M Validators© BatchCriteria.php1BatchCriterialnterface.ohoC) BatchService.oho1BatchServicelnterface.oho© EmailActivityService.phpSmailActivitvServicelnterface.ohn© EmailMessage.php(1EmailMeccagelnterface.nhng InboyService.nhn© [EMAIL](C) Mailchanne|Service nhn(C TovtDolavCorvico nhnM MootinaConorator• M NotifinationTx: AutovSo jiminny v041 A1 A40 V65 ^SELECT * FROMautomatea-neportnesulisWeet t-t%0ests151vutepublic function __constructOf...}* Fetch the latest messages since the last sync.public tunccion synco: array666 vselect * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161668#and id = 32412:670select * from users where team_id = 2 and email like '%scott%' and id = 29510;672SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436smarlbox = contiq key: "J1m1nny.900gle cext user')SexpectedRecipient = Smailbox .'a' . confiat key:"jiminny.google_text_host'); Accept Reject674675676v = Sthis-›qethistorv(Sservice)677678Smessagelids = UForeach smessage.nstorv as Shistories) <680681Smessages = Shistories->messagesAdded:foreach (Smessages as Smessage) 1$messageld = Smessage->message->id;684685if (!$this->isForCurrentEnvironment($service, $mailbox, Smessageld, $expectedRecipient)686687688689690SrelayedText = TextRelay::where( column: 'email_provider_id', Smessageld)->firstO:691if (SrelayedText === null) {SrelayedText = TextRelay::create(['email provider' => TextRelay::PROVIDER_GSUITE692._693_694695emart provlder10 => smessacela'status' => TextRelay::STATUS_PROCESSING.696697690Stob = (new EmailTextRelav(SmessageTd, SrelavedText)) -›onQueue( queue: Constants: : OUEUEL El 700701dasoatches100)702703Smessagelds" = Smessageiidi=704npturn Smeccagelds.Accept File &+X Reject File 4%€+ 1 of 3 files →SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42',119e2033ed8ea6h10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atEonM antivitiocWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id,status,code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uvid, status, code, sender, recipient, created_at, updated_atFROM text_relaysWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.100% 5• Tue 19 May 16:46:54AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportCascadeText Relay Email Routt+0 ..• Creates TYPE sMS oUtBouND activity3. Does Everv SMS Go Through This Flow:Looking di weonookcontrotterreceavely (une oo)eventtnew keceived (sactivity;This event fires for ALL inbound SMS. The CreateReceivedNotification listener is registered in EventServiceProviden(line 333) to handle every Received event, sending the email notification with reply capability.Outbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viaIwillo without emall relay.Cal aeExplain phase 3. 1 am trying to understand that change needs to be doneI coo voul accidentallv introduced a tvno in the imnort let me fix that firct then eynlain Phace 2 in detailliSmsReceived.ohvlPhase 3: User Replies (Emall → sMs - Detalled ExplanationSten 1• User Renlies to Email123456/[EMAIL]}.{from_number}.{encoded_activity_id)@txt.jiminny.comUser replies with their messageStep 2: Gmail Receives the Reply• Gmail receives email at catch-all address(catch-allatyt.jiminnv.com or catch-all-euatyt.jiminnv.com)• Gmail Pub/Sub pushes notification to Jiminny's configured subscription• This triaaers the TextRelavService::svnc() methodStep 3: TextRelayService::sync() Processes EmailAnhrpublic function sync(): voidSmailbox = confia'iiminnv.aoogle text mailbox': // catch-all or catch-ali-eulSservice = Sthis->getService(config("jiminny.google text user')):Chistorv = tcervice_sucers historv-slict/tmailhoy)Reiect alllAccent alliAsk anvthing 884-D)« Code SWF-1.6W Windsurf Teamc27-1UTE.8io 4 spaces...
|
NULL
|
-2587110732402904420
|
NULL
|
idle
|
ocr
|
NULL
|
PhostormVIewINavicarecodeWindowFV faVsco.js°9 JY-2 PhostormVIewINavicarecodeWindowFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reroledey(C) WebhookController.pnpCreateReceivedNotification.php=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [eu)o umod ectsresoiver.ong© DefaultProspectSearchStrategy.php@ cmallhelper.ongu rinosProspecuintenace.onpNounications//Smskecelvea.onp© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.php XA console [STAGING]c Layoutmanager.pnp@ machbomainbymallintenace.pnpOpporunityAcuivitymatcher.onpw Opponunitvsyncstrarecvintenace.ono) Opponunilvsyncstralecvresolver.ono@ ProspectSearchScope.phpC) ProspectSearchStrateavFactorv.phoProspectSearchStrategvintertace.ohoC) ProviderReaistrv.ohp@ RecordSelector.ohnT ResolveComoanvNameBvEmalltrait.ohoC) TimePerioditerator.ohoM imoorM Internalm Kioskv MAutomatedRenorte© ActivityTypeService.php© AskJiminnyReportActivityService.php© AutomatedReportsCallbackService.ph© AutomatedReportsService.phpc) DealStadesService.ong(e) PecinientsService.ono() RenortSort.pnpekeponsonbirection.ono© KioskService.phpv C Mail>@ Actions>0 Office> 0 Repositories> → Resolversraits> M Validators© BatchCriteria.php1BatchCriterialnterface.ohoC) BatchService.oho1BatchServicelnterface.oho© EmailActivityService.phpSmailActivitvServicelnterface.ohn© EmailMessage.php(1EmailMeccagelnterface.nhng InboyService.nhn© [EMAIL](C) Mailchanne|Service nhn(C TovtDolavCorvico nhnM MootinaConorator• M NotifinationTx: AutovSo jiminny v041 A1 A40 V65 ^SELECT * FROMautomatea-neportnesulisWeet t-t%0ests151vutepublic function __constructOf...}* Fetch the latest messages since the last sync.public tunccion synco: array666 vselect * from text_relays where created_at > '2026-01-01';and idIN (2415. 324161668#and id = 32412:670select * from users where team_id = 2 and email like '%scott%' and id = 29510;672SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436smarlbox = contiq key: "J1m1nny.900gle cext user')SexpectedRecipient = Smailbox .'a' . confiat key:"jiminny.google_text_host'); Accept Reject674675676v = Sthis-›qethistorv(Sservice)677678Smessagelids = UForeach smessage.nstorv as Shistories) <680681Smessages = Shistories->messagesAdded:foreach (Smessages as Smessage) 1$messageld = Smessage->message->id;684685if (!$this->isForCurrentEnvironment($service, $mailbox, Smessageld, $expectedRecipient)686687688689690SrelayedText = TextRelay::where( column: 'email_provider_id', Smessageld)->firstO:691if (SrelayedText === null) {SrelayedText = TextRelay::create(['email provider' => TextRelay::PROVIDER_GSUITE692._693_694695emart provlder10 => smessacela'status' => TextRelay::STATUS_PROCESSING.696697690Stob = (new EmailTextRelav(SmessageTd, SrelavedText)) -›onQueue( queue: Constants: : OUEUEL El 700701dasoatches100)702703Smessagelds" = Smessageiidi=704npturn Smeccagelds.Accept File &+X Reject File 4%€+ 1 of 3 files →SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42',119e2033ed8ea6h10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atEonM antivitiocWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id,status,code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uvid, status, code, sender, recipient, created_at, updated_atFROM text_relaysWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenOpnEp py eme count nesc.colort + fnom toame whone id = 1.colort + fnom nolec.100% 5• Tue 19 May 16:46:54AskJiminnyReportActivityServiceTest vCascadeFix AutomatedReportCascadeText Relay Email Routt+0 ..• Creates TYPE sMS oUtBouND activity3. Does Everv SMS Go Through This Flow:Looking di weonookcontrotterreceavely (une oo)eventtnew keceived (sactivity;This event fires for ALL inbound SMS. The CreateReceivedNotification listener is registered in EventServiceProviden(line 333) to handle every Received event, sending the email notification with reply capability.Outbound SMS (Jiminny user → Prospect) sent from the Jiminny app do NOT go through this flow - they're sent directly viaIwillo without emall relay.Cal aeExplain phase 3. 1 am trying to understand that change needs to be doneI coo voul accidentallv introduced a tvno in the imnort let me fix that firct then eynlain Phace 2 in detailliSmsReceived.ohvlPhase 3: User Replies (Emall → sMs - Detalled ExplanationSten 1• User Renlies to Email123456/[EMAIL]}.{from_number}.{encoded_activity_id)@txt.jiminny.comUser replies with their messageStep 2: Gmail Receives the Reply• Gmail receives email at catch-all address(catch-allatyt.jiminnv.com or catch-all-euatyt.jiminnv.com)• Gmail Pub/Sub pushes notification to Jiminny's configured subscription• This triaaers the TextRelavService::svnc() methodStep 3: TextRelayService::sync() Processes EmailAnhrpublic function sync(): voidSmailbox = confia'iiminnv.aoogle text mailbox': // catch-all or catch-ali-eulSservice = Sthis->getService(config("jiminny.google text user')):Chistorv = tcervice_sucers historv-slict/tmailhoy)Reiect alllAccent alliAsk anvthing 884-D)« Code SWF-1.6W Windsurf Teamc27-1UTE.8io 4 spaces...
|
58888
|
NULL
|
NULL
|
NULL
|
|
58891
|
2095
|
17
|
2026-05-19T13:47:10.431081+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198430431_m2.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Code changed:
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-20915-add-domain-specific-email-text-relay, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.11269947,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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":"AXTextArea","text":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","depth":4,"bounds":{"left":0.15591756,"top":0.02952913,"width":0.35771278,"height":0.97047085},"on_screen":true,"value":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.42785904,"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.43650267,"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.4474734,"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.45611703,"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.46476063,"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.47573137,"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.4867021,"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.51329786,"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.5242686,"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.70611703,"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":"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}]...
|
-4505813203947308384
|
1347925208790434571
|
visual_change
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Code changed:
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58892
|
2094
|
12
|
2026-05-19T13:47:22.731356+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198442731_m1.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Code changed:
Hide
Sync Changes
Hide This Notification
41
1
40
65
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports;
where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
select * from opportunities where id = 7594349;
SELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - [EMAIL]
select * from playbooks where team_id = 711; # event 226147
SELECT * FROM playbook_categories WHERE playbook_id = 5515;
SELECT * FROM crm_fields WHERE crm_configuration_id = 692 and object_type = 'event';
SELECT * FROM crm_fields WHERE id = 226147;
SELECT * FROM crm_field_values WHERE crm_field_id = 226147;
SELECT * FROM crm_configurations WHERE id = 692;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 711 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles cp JOIN users u on u.id = cp.user_id WHERE u.team_id = 711;
select * from leads;
select * from calendars;
SELECT
t.id AS team_id,
t.name,
LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain
FROM teams t
JOIN users u ON u.team_id = t.id
JOIN calendars c ON c.user_id = u.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%@%'
LEFT JOIN team_domains td
ON td.team_id = t.id
AND td.deleted_at IS NULL
AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))
GROUP BY t.id, t.name, calendar_domain
ORDER BY t.name, calendar_domain;
select * from users u join calendars c on c.user_id = u.id
where u.team_id = 882;
select * from activities where id = 74049485; # team 563 crm 537
select * from activities where id = 73272382; # team 563 crm 537
select * from activities where id = 64400389; # team 563 crm 537
select * from activities where id = 58081273; # team 563 crm 537
select * from activities where id = 54520297; # team 563 crm 537
select * from participants where activity_id = 58081273;
select * from activities where crm_configuration_id = 537 and provider = 'aircall'
and account_id = 19003658 order by updated_at desc;
select * from contacts where crm_configuration_id = 537 and id = 35957759;
select * from accounts where crm_configuration_id = 537 and id = 19003658;
select * from automated_report_results where id = 1976;
select * from automated_reports where id = 583;
select * from activity_searches where id = 87714;
select * from activity_search_filters where activity_search_id = 87714;
SELECT * FROM activities WHERE uuid_to_bin('8827f672-202d-4162-9d04-73ff5f0566a9') = uuid
or uuid_to_bin('47842446-af51-4bcb-854f-cc6560290101') = uuid;
SELECT * FROM crm_configurations WHERE provider = 'hubspot';
select * from rate_limits;
select * from automated_report_results where media_type = 'pdf' and status = 2
and id IN (18, 1872);
select * from automated_reports where id = 54;
SELECT * FROM users WHERE id IN (24623,29443,29613);
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from text_relays where created_at > '2026-01-01';
and id IN (32415, 32416);
# and id = 32412;
select * from users where team_id = 2 and email like '%scott%' and id = 29510;
SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436
SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statuses
FROM text_relays
WHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')
GROUP BY email_provider_id;
SELECT id, status, telephony_provider_id, created_at
FROM activities
WHERE id IN (80028719, 80028846);
SELECT id, status, code, email_sent_at, created_at, updated_at
FROM text_relays
WHERE id IN (32415, 32416);
SELECT id, status, code, sender, recipient, created_at
FROM text_relays
WHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'
ORDER BY created_at DESC
LIMIT 10;
SELECT id, uuid, status, code, sender, recipient, created_at, updated_at
FROM text_relays
WHERE uuid = uuid_to_bin('0626141c-27a6-4d8c-aff8-7c8020a2c656');
# [PASSWORD_DOTS]
SELECT DISTINCT u.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_count
FROM users u
INNER JOIN activities a ON u.id = a.user_id
WHERE a.type LIKE 'sms%'
AND a.created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY u.id, u.email, u.name, u.softphone_number
ORDER BY sms_count DESC;
select * from teams where id = 1;
select * from roles;
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-20915-add-domain-specific-email-text-relay, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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":"AXTextArea","text":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"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":"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":"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":"AXStaticText","text":"41","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"40","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"65","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":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports;\nwhere id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;\n\nselect * from opportunities where id = 7594349;\n\nSELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - jiminnyintegration@lesmills.com\nselect * from playbooks where team_id = 711; # event 226147\nSELECT * FROM playbook_categories WHERE playbook_id = 5515;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 692 and object_type = 'event';\nSELECT * FROM crm_fields WHERE id = 226147;\nSELECT * FROM crm_field_values WHERE crm_field_id = 226147;\n\nSELECT * FROM crm_configurations WHERE id = 692;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 711 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles cp JOIN users u on u.id = cp.user_id WHERE u.team_id = 711;\n\nselect * from leads;\n\nselect * from calendars;\n\nSELECT\n t.id AS team_id,\n t.name,\n LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain\nFROM teams t\nJOIN users u ON u.team_id = t.id\nJOIN calendars c ON c.user_id = u.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%@%'\nLEFT JOIN team_domains td\n ON td.team_id = t.id\n AND td.deleted_at IS NULL\n AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))\nGROUP BY t.id, t.name, calendar_domain\nORDER BY t.name, calendar_domain;\n\nselect * from users u join calendars c on c.user_id = u.id\nwhere u.team_id = 882;\n\n\nselect * from activities where id = 74049485; # team 563 crm 537\nselect * from activities where id = 73272382; # team 563 crm 537\nselect * from activities where id = 64400389; # team 563 crm 537\nselect * from activities where id = 58081273; # team 563 crm 537\nselect * from activities where id = 54520297; # team 563 crm 537\nselect * from participants where activity_id = 58081273;\n\nselect * from activities where crm_configuration_id = 537 and provider = 'aircall'\nand account_id = 19003658 order by updated_at desc;\n\nselect * from contacts where crm_configuration_id = 537 and id = 35957759;\nselect * from accounts where crm_configuration_id = 537 and id = 19003658;\n\nselect * from automated_report_results where id = 1976;\nselect * from automated_reports where id = 583;\nselect * from activity_searches where id = 87714;\nselect * from activity_search_filters where activity_search_id = 87714;\n\nSELECT * FROM activities WHERE uuid_to_bin('8827f672-202d-4162-9d04-73ff5f0566a9') = uuid\nor uuid_to_bin('47842446-af51-4bcb-854f-cc6560290101') = uuid;\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot';\nselect * from rate_limits;\n\nselect * from automated_report_results where media_type = 'pdf' and status = 2\nand id IN (18, 1872);\nselect * from automated_reports where id = 54;\nSELECT * FROM users WHERE id IN (24623,29443,29613);\n\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\n\nselect * from text_relays where created_at > '2026-01-01';\nand id IN (32415, 32416);\n# and id = 32412;\n\nselect * from users where team_id = 2 and email like '%scott%' and id = 29510;\n\nSELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436\n\nSELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statuses\nFROM text_relays\nWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')\nGROUP BY email_provider_id;\nSELECT id, status, telephony_provider_id, created_at\nFROM activities\nWHERE id IN (80028719, 80028846);\nSELECT id, status, code, email_sent_at, created_at, updated_at\nFROM text_relays\nWHERE id IN (32415, 32416);\nSELECT id, status, code, sender, recipient, created_at\nFROM text_relays\nWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'\nORDER BY created_at DESC\nLIMIT 10;\n\nSELECT id, uuid, status, code, sender, recipient, created_at, updated_at\nFROM text_relays\nWHERE uuid = uuid_to_bin('0626141c-27a6-4d8c-aff8-7c8020a2c656');\n\n# ***************\nSELECT DISTINCT u.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_count\nFROM users u\nINNER JOIN activities a ON u.id = a.user_id\nWHERE a.type LIKE 'sms%'\nAND a.created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)\nGROUP BY u.id, u.email, u.name, u.softphone_number\nORDER BY sms_count DESC;\n\nselect * from teams where id = 1;\n\nselect * from roles;","depth":4,"on_screen":true,"value":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports;\nwhere id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;\n\nselect * from opportunities where id = 7594349;\n\nSELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - jiminnyintegration@lesmills.com\nselect * from playbooks where team_id = 711; # event 226147\nSELECT * FROM playbook_categories WHERE playbook_id = 5515;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 692 and object_type = 'event';\nSELECT * FROM crm_fields WHERE id = 226147;\nSELECT * FROM crm_field_values WHERE crm_field_id = 226147;\n\nSELECT * FROM crm_configurations WHERE id = 692;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 711 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles cp JOIN users u on u.id = cp.user_id WHERE u.team_id = 711;\n\nselect * from leads;\n\nselect * from calendars;\n\nSELECT\n t.id AS team_id,\n t.name,\n LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain\nFROM teams t\nJOIN users u ON u.team_id = t.id\nJOIN calendars c ON c.user_id = u.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%@%'\nLEFT JOIN team_domains td\n ON td.team_id = t.id\n AND td.deleted_at IS NULL\n AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))\nGROUP BY t.id, t.name, calendar_domain\nORDER BY t.name, calendar_domain;\n\nselect * from users u join calendars c on c.user_id = u.id\nwhere u.team_id = 882;\n\n\nselect * from activities where id = 74049485; # team 563 crm 537\nselect * from activities where id = 73272382; # team 563 crm 537\nselect * from activities where id = 64400389; # team 563 crm 537\nselect * from activities where id = 58081273; # team 563 crm 537\nselect * from activities where id = 54520297; # team 563 crm 537\nselect * from participants where activity_id = 58081273;\n\nselect * from activities where crm_configuration_id = 537 and provider = 'aircall'\nand account_id = 19003658 order by updated_at desc;\n\nselect * from contacts where crm_configuration_id = 537 and id = 35957759;\nselect * from accounts where crm_configuration_id = 537 and id = 19003658;\n\nselect * from automated_report_results where id = 1976;\nselect * from automated_reports where id = 583;\nselect * from activity_searches where id = 87714;\nselect * from activity_search_filters where activity_search_id = 87714;\n\nSELECT * FROM activities WHERE uuid_to_bin('8827f672-202d-4162-9d04-73ff5f0566a9') = uuid\nor uuid_to_bin('47842446-af51-4bcb-854f-cc6560290101') = uuid;\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot';\nselect * from rate_limits;\n\nselect * from automated_report_results where media_type = 'pdf' and status = 2\nand id IN (18, 1872);\nselect * from automated_reports where id = 54;\nSELECT * FROM users WHERE id IN (24623,29443,29613);\n\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\n\nselect * from text_relays where created_at > '2026-01-01';\nand id IN (32415, 32416);\n# and id = 32412;\n\nselect * from users where team_id = 2 and email like '%scott%' and id = 29510;\n\nSELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436\n\nSELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statuses\nFROM text_relays\nWHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')\nGROUP BY email_provider_id;\nSELECT id, status, telephony_provider_id, created_at\nFROM activities\nWHERE id IN (80028719, 80028846);\nSELECT id, status, code, email_sent_at, created_at, updated_at\nFROM text_relays\nWHERE id IN (32415, 32416);\nSELECT id, status, code, sender, recipient, created_at\nFROM text_relays\nWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'\nORDER BY created_at DESC\nLIMIT 10;\n\nSELECT id, uuid, status, code, sender, recipient, created_at, updated_at\nFROM text_relays\nWHERE uuid = uuid_to_bin('0626141c-27a6-4d8c-aff8-7c8020a2c656');\n\n# ***************\nSELECT DISTINCT u.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_count\nFROM users u\nINNER JOIN activities a ON u.id = a.user_id\nWHERE a.type LIKE 'sms%'\nAND a.created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)\nGROUP BY u.id, u.email, u.name, u.softphone_number\nORDER BY sms_count DESC;\n\nselect * from teams where id = 1;\n\nselect * from roles;","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}]...
|
3606277472691935673
|
2218635325254022727
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Code changed:
Hide
Sync Changes
Hide This Notification
41
1
40
65
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports;
where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
select * from opportunities where id = 7594349;
SELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - [EMAIL]
select * from playbooks where team_id = 711; # event 226147
SELECT * FROM playbook_categories WHERE playbook_id = 5515;
SELECT * FROM crm_fields WHERE crm_configuration_id = 692 and object_type = 'event';
SELECT * FROM crm_fields WHERE id = 226147;
SELECT * FROM crm_field_values WHERE crm_field_id = 226147;
SELECT * FROM crm_configurations WHERE id = 692;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 711 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles cp JOIN users u on u.id = cp.user_id WHERE u.team_id = 711;
select * from leads;
select * from calendars;
SELECT
t.id AS team_id,
t.name,
LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain
FROM teams t
JOIN users u ON u.team_id = t.id
JOIN calendars c ON c.user_id = u.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%@%'
LEFT JOIN team_domains td
ON td.team_id = t.id
AND td.deleted_at IS NULL
AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))
GROUP BY t.id, t.name, calendar_domain
ORDER BY t.name, calendar_domain;
select * from users u join calendars c on c.user_id = u.id
where u.team_id = 882;
select * from activities where id = 74049485; # team 563 crm 537
select * from activities where id = 73272382; # team 563 crm 537
select * from activities where id = 64400389; # team 563 crm 537
select * from activities where id = 58081273; # team 563 crm 537
select * from activities where id = 54520297; # team 563 crm 537
select * from participants where activity_id = 58081273;
select * from activities where crm_configuration_id = 537 and provider = 'aircall'
and account_id = 19003658 order by updated_at desc;
select * from contacts where crm_configuration_id = 537 and id = 35957759;
select * from accounts where crm_configuration_id = 537 and id = 19003658;
select * from automated_report_results where id = 1976;
select * from automated_reports where id = 583;
select * from activity_searches where id = 87714;
select * from activity_search_filters where activity_search_id = 87714;
SELECT * FROM activities WHERE uuid_to_bin('8827f672-202d-4162-9d04-73ff5f0566a9') = uuid
or uuid_to_bin('47842446-af51-4bcb-854f-cc6560290101') = uuid;
SELECT * FROM crm_configurations WHERE provider = 'hubspot';
select * from rate_limits;
select * from automated_report_results where media_type = 'pdf' and status = 2
and id IN (18, 1872);
select * from automated_reports where id = 54;
SELECT * FROM users WHERE id IN (24623,29443,29613);
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from text_relays where created_at > '2026-01-01';
and id IN (32415, 32416);
# and id = 32412;
select * from users where team_id = 2 and email like '%scott%' and id = 29510;
SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436
SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statuses
FROM text_relays
WHERE email_provider_id IN ('19e2027868a64b42', '19e2033ed8ea6b10')
GROUP BY email_provider_id;
SELECT id, status, telephony_provider_id, created_at
FROM activities
WHERE id IN (80028719, 80028846);
SELECT id, status, code, email_sent_at, created_at, updated_at
FROM text_relays
WHERE id IN (32415, 32416);
SELECT id, status, code, sender, recipient, created_at
FROM text_relays
WHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'
ORDER BY created_at DESC
LIMIT 10;
SELECT id, uuid, status, code, sender, recipient, created_at, updated_at
FROM text_relays
WHERE uuid = uuid_to_bin('0626141c-27a6-4d8c-aff8-7c8020a2c656');
# [PASSWORD_DOTS]
SELECT DISTINCT u.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_count
FROM users u
INNER JOIN activities a ON u.id = a.user_id
WHERE a.type LIKE 'sms%'
AND a.created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY u.id, u.email, u.name, u.softphone_number
ORDER BY sms_count DESC;
select * from teams where id = 1;
select * from roles;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
58889
|
NULL
|
NULL
|
NULL
|
|
58894
|
2095
|
18
|
2026-05-19T13:47:25.952647+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198445952_m2.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.11269947,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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":"AXTextArea","text":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","depth":4,"bounds":{"left":0.15591756,"top":0.02952913,"width":0.35771278,"height":0.97047085},"on_screen":true,"value":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false}]...
|
-8657721868045861457
|
1636155591652967403
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}...
|
58891
|
NULL
|
NULL
|
NULL
|
|
58893
|
2094
|
13
|
2026-05-19T13:47:25.967927+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198445967_m1.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results...
|
[{"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-20915-add-domain-specific-email-text-relay, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20915-add-domain-specific-email-text-relay","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":"AXTextArea","text":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\nnamespace Jiminny\\Services\\Mail;\n\nuse Carbon\\Carbon;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Jobs\\Mailbox\\EmailTextRelay;\nuse Jiminny\\Models\\TextRelay;\nuse Google\\Service\\Gmail as GoogleGmail;\n\nclass TextRelayService\n{\n public function __construct()\n {\n $credentials = storage_path('text-relay.json');\n\n abort_unless(file_exists($credentials), 422);\n\n putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);\n }\n\n /**\n * Fetch the latest messages since the last sync.\n */\n public function sync(): array\n {\n $mailbox = config('jiminny.google_text_user');\n $expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');\n\n $service = $this->getService($mailbox);\n\n $messageHistory = $this->getHistory($service);\n $messageIds = [];\n\n foreach ($messageHistory as $histories) {\n $messages = $histories->messagesAdded;\n\n foreach ($messages as $message) {\n $messageId = $message->message->id;\n\n if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {\n continue;\n }\n\n $relayedText = TextRelay::where('email_provider_id', $messageId)->first();\n\n if ($relayedText === null) {\n $relayedText = TextRelay::create([\n 'email_provider' => TextRelay::PROVIDER_GSUITE,\n 'email_provider_id' => $messageId,\n 'status' => TextRelay::STATUS_PROCESSING,\n ]);\n }\n\n $job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);\n\n dispatch($job);\n\n $messageIds[] = $messageId;\n }\n }\n\n return $messageIds;\n }\n\n public function getHistory(GoogleGmail $service): array\n {\n $pageToken = null;\n $topic = config('jiminny.google_text_relay_topic');\n $messages = [];\n $historyId = \\Cache::get($topic);\n\n // If we have no history stored, WatchMailboxEvents must not have run yet :/\n if ($historyId == false) {\n $historyId = $this->refreshHistoryPoint($topic);\n }\n\n $params = [\n 'historyTypes' => 'messageAdded',\n 'startHistoryId' => $historyId,\n ];\n\n do {\n try {\n if ($pageToken) {\n $params['pageToken'] = $pageToken;\n }\n\n $historyResponse = $service->users_history->listUsersHistory(\n config('jiminny.google_text_user'),\n $params\n );\n\n $this->setHistoryPoint($topic, $historyResponse->historyId);\n\n if ($historyResponse->getHistory()) {\n $messages = array_merge($messages, $historyResponse->getHistory());\n $pageToken = $historyResponse->getNextPageToken();\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n } while ($pageToken);\n\n return $messages;\n }\n\n protected function setHistoryPoint(string $topic, int $historyPoint): Carbon\n {\n $expiresAt = now()->addDay();\n\n \\Cache::put($topic, $historyPoint, $expiresAt);\n\n return $expiresAt;\n }\n\n public function getService(string $mailbox): GoogleGmail\n {\n $client = new \\Google_Client();\n $client->useApplicationDefaultCredentials();\n $client->addScope(GoogleGmail::GMAIL_MODIFY);\n $client->setAccessType('offline');\n $client->setSubject($mailbox);\n\n return new GoogleGmail($client);\n }\n\n public function refreshHistoryPoint(string $topic): int\n {\n $mailbox = config('jiminny.google_text_user');\n $service = $this->getService($mailbox);\n\n $watchRequest = new GoogleGmail\\WatchRequest();\n $watchRequest->setLabelIds(['INBOX']);\n $watchRequest->setLabelFilterAction('include');\n $watchRequest->setTopicName($topic);\n\n $watchResponse = $service->users->watch($mailbox, $watchRequest);\n\n //$expiryTimestamp = $watchResponse->expiration / 1000;\n $historyPoint = $watchResponse->historyId;\n\n $this->setHistoryPoint($topic, $historyPoint);\n\n return $historyPoint;\n }\n\n private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool\n {\n try {\n $message = $service->users_messages->get($mailbox, $messageId);\n $headers = $message->getPayload()->getHeaders();\n\n foreach ($headers as $header) {\n if ($header->name === 'To') {\n $recipient = $header->value;\n return $recipient === $expectedRecipient;\n }\n }\n } catch (\\Exception $e) {\n \\Sentry::captureException($e);\n }\n\n return false;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"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}]...
|
2164163209700179981
|
1347925215769756459
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20915-add-domain-speci Project: faVsco.js, menu
JY-20915-add-domain-specific-email-text-relay, 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
<?php
namespace Jiminny\Services\Mail;
use Carbon\Carbon;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\Mailbox\EmailTextRelay;
use Jiminny\Models\TextRelay;
use Google\Service\Gmail as GoogleGmail;
class TextRelayService
{
public function __construct()
{
$credentials = storage_path('text-relay.json');
abort_unless(file_exists($credentials), 422);
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentials);
}
/**
* Fetch the latest messages since the last sync.
*/
public function sync(): array
{
$mailbox = config('jiminny.google_text_user');
$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');
$service = $this->getService($mailbox);
$messageHistory = $this->getHistory($service);
$messageIds = [];
foreach ($messageHistory as $histories) {
$messages = $histories->messagesAdded;
foreach ($messages as $message) {
$messageId = $message->message->id;
if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {
continue;
}
$relayedText = TextRelay::where('email_provider_id', $messageId)->first();
if ($relayedText === null) {
$relayedText = TextRelay::create([
'email_provider' => TextRelay::PROVIDER_GSUITE,
'email_provider_id' => $messageId,
'status' => TextRelay::STATUS_PROCESSING,
]);
}
$job = (new EmailTextRelay($messageId, $relayedText))->onQueue(Constants::QUEUE_EMAILS);
dispatch($job);
$messageIds[] = $messageId;
}
}
return $messageIds;
}
public function getHistory(GoogleGmail $service): array
{
$pageToken = null;
$topic = config('jiminny.google_text_relay_topic');
$messages = [];
$historyId = \Cache::get($topic);
// If we have no history stored, WatchMailboxEvents must not have run yet :/
if ($historyId == false) {
$historyId = $this->refreshHistoryPoint($topic);
}
$params = [
'historyTypes' => 'messageAdded',
'startHistoryId' => $historyId,
];
do {
try {
if ($pageToken) {
$params['pageToken'] = $pageToken;
}
$historyResponse = $service->users_history->listUsersHistory(
config('jiminny.google_text_user'),
$params
);
$this->setHistoryPoint($topic, $historyResponse->historyId);
if ($historyResponse->getHistory()) {
$messages = array_merge($messages, $historyResponse->getHistory());
$pageToken = $historyResponse->getNextPageToken();
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
} while ($pageToken);
return $messages;
}
protected function setHistoryPoint(string $topic, int $historyPoint): Carbon
{
$expiresAt = now()->addDay();
\Cache::put($topic, $historyPoint, $expiresAt);
return $expiresAt;
}
public function getService(string $mailbox): GoogleGmail
{
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(GoogleGmail::GMAIL_MODIFY);
$client->setAccessType('offline');
$client->setSubject($mailbox);
return new GoogleGmail($client);
}
public function refreshHistoryPoint(string $topic): int
{
$mailbox = config('jiminny.google_text_user');
$service = $this->getService($mailbox);
$watchRequest = new GoogleGmail\WatchRequest();
$watchRequest->setLabelIds(['INBOX']);
$watchRequest->setLabelFilterAction('include');
$watchRequest->setTopicName($topic);
$watchResponse = $service->users->watch($mailbox, $watchRequest);
//$expiryTimestamp = $watchResponse->expiration / 1000;
$historyPoint = $watchResponse->historyId;
$this->setHistoryPoint($topic, $historyPoint);
return $historyPoint;
}
private function isForCurrentEnvironment(GoogleGmail $service, string $mailbox, string $messageId, string $expectedRecipient): bool
{
try {
$message = $service->users_messages->get($mailbox, $messageId);
$headers = $message->getPayload()->getHeaders();
foreach ($headers as $header) {
if ($header->name === 'To') {
$recipient = $header->value;
return $recipient === $expectedRecipient;
}
}
} catch (\Exception $e) {
\Sentry::captureException($e);
}
return false;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58896
|
2095
|
19
|
2026-05-19T13:47:35.522677+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198455522_m2.jpg...
|
coreautha
|
1Password
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
1Password
1Password is trying to unlock.
Touch ID 1Password
1Password is trying to unlock.
Touch ID or enter your password to allow this.
Use Account Password…
Cancel...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"1Password","depth":1,"bounds":{"left":0.46276596,"top":0.30127692,"width":0.07446808,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1Password is trying to unlock.","depth":1,"bounds":{"left":0.46276596,"top":0.3216281,"width":0.07446808,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Touch ID or enter your password to allow this.","depth":1,"bounds":{"left":0.46276596,"top":0.34557062,"width":0.07446808,"height":0.022346368},"on_screen":true,"lines":[{"char_start":0,"char_count":35,"bounds":{"left":0.46944654,"top":0.34557062,"width":0.06215684,"height":0.011173184}},{"char_start":35,"char_count":11,"bounds":{"left":0.4912818,"top":0.3567438,"width":0.017436413,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Use Account Password…","depth":1,"bounds":{"left":0.46010637,"top":0.37589785,"width":0.07978723,"height":0.031923383},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":true},{"role":"AXButton","text":"Cancel","depth":1,"bounds":{"left":0.46010637,"top":0.40303272,"width":0.07978723,"height":0.031923383},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false}]...
|
2367845838743006480
|
6549041024830674611
|
app_switch
|
accessibility
|
NULL
|
1Password
1Password is trying to unlock.
Touch ID 1Password
1Password is trying to unlock.
Touch ID or enter your password to allow this.
Use Account Password…
Cancel...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58895
|
2094
|
14
|
2026-05-19T13:47:35.584879+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198455584_m1.jpg...
|
coreautha
|
1Password
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
1Password
1Password is trying to unlock.
Touch ID 1Password
1Password is trying to unlock.
Touch ID or enter your password to allow this.
Use Account Password…
Cancel...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"1Password","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1Password is trying to unlock.","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Touch ID or enter your password to allow this.","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Use Account Password…","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":true},{"role":"AXButton","text":"Cancel","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false}]...
|
2367845838743006480
|
6549041024830674611
|
app_switch
|
accessibility
|
NULL
|
1Password
1Password is trying to unlock.
Touch ID 1Password
1Password is trying to unlock.
Touch ID or enter your password to allow this.
Use Account Password…
Cancel...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58898
|
2095
|
20
|
2026-05-19T13:47:37.967683+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198457967_m2.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormINavicarecodeLaravelFV faVsco.js°9 JY-2091 PhostormINavicarecodeLaravelFV faVsco.js°9 JY-20915-add-domainroledeyo umod ectsresoiver.ong© DefaultProspectSearchStrategy.php© cmallhelper.onp© FindsProspectinterface.phpc Layoutmanager.pnp@ machbomainbymallintenace.pnpOpponunityAcuivitymatcher.pnpw Opponunitvsyncstrarecvintenace.ono) Opponunilvsyncstralecvresolver.ono@ ProspectSearchScope.phpC) ProspectSearchStrateavFactorv.phoProspectSearchStrategvintertace.ohoC) ProviderReaistrv.pho@ RecordSelector.ohnT ResolveComoanvNameBv=mailtrait.ohoC) TimePerioditerator.ohoM imoorM Internalm Kioskv MAutomatedRenorte© ActivityTypeService.php© AskJiminnyReportActivityService.php© AutomatedReportsCallbackService.ph© AutomatedReportsService.php© DealStagesService.php© RecipientsService.php( RenortSort.pnp€ ReportSortDirection.php© KioskService.phpv C Mail>@ Actions>0 Office> 0 Repositories> 0 Resolvers→D Traits> M ValidatorsC) BatchCriteria.oho1BatchCriterialnterface.ohoC) BatchService.oho1BatchServicelnterface.oho@ EmailActivityService.php1SmailActivitvServicelnterface.ohn©EmailMessage.php(1EmailMeccagelnterface.nhng InboyService.nhn© [EMAIL](C) Mailchanne|Service nhn(C TovtDolavCorvico nhnM MootinaConoratorM Notifinntior© WebhookController.phpCreateReceivedNotification.phpC) Notifications/.SmsReceivea.onp© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.php XAAAAAHGFind in Filles• gooqle text userpublic function __constructOf...}In Project Module Directory Scope* Fetch the latest messages since the last syncpublic tunccion synco: arraysmarlbox = contiq key: "J1m1nny.900gle cexc.SexpectedRecipient = Smailbox .'a' . configlv = Sthis->gethistorvSserviceSmessagelids = UForeach smessage.nstorv as Shistories) <Smessages = Shistories->messagesAdded:foreach (Smessages as Smessage) 1$messageld = Smessage->message->id;fisthic->1cSarturnentFnvzronmentsSnplavedTeyt = TeytRolav:•whene coluif (SrelayedText === null) {srelayedlext = lexckelay..creacel'email provider' => TextRelavemart provlder10 => smessa'status' => TextRelay:: STATUSSiob = (new EmailTextRelay(Smessagelcdasoatches100)Smessagelds" = Smessageiidinpturn Smeccagelds:1 1 of 3 edits JAccept File &+X Reiect File Open results in new tab100% 5lue Ty May 10.4/.3/+0 ..= custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euyA console [STAGING]De•@ -TAtovHaygroundSo jiminny vFile mask: *-php041 A1 A40 V65 ^b-afds-45a9-a248-86bbe56f5151) = uutdX5 Cc W *d id = 29510;68-7a0286ed8618') = uuid; # 79763436ids, GROUP_CONCAT(status) as statusesSearch1Password1Password is trying to unlockTouch iD or enter [PASSWORD_FIELD] Account Password…CancellNothing to showated ata.id) as sms count.Onen in Sind WindowCascadeFix AutomatedReportsCascadeText Relay Email RoutStep 3: TextRelavService:svnc( Processes Emaila ohooublic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice->users history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecoroforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llextrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReplvSmecsade = Sthis-saetMeccade(SmailService, Sthis-smessaaeTd)•Sheaders = Sthis->getHeaders(Spayload->getHeaders()): // To. From. Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theluser's reply message* Reiect alliiAsk anvthina (884-L)« Code SWF-1.6Accent alliPo. 4 spac...
|
NULL
|
6017399344797894923
|
NULL
|
click
|
ocr
|
NULL
|
PhostormINavicarecodeLaravelFV faVsco.js°9 JY-2091 PhostormINavicarecodeLaravelFV faVsco.js°9 JY-20915-add-domainroledeyo umod ectsresoiver.ong© DefaultProspectSearchStrategy.php© cmallhelper.onp© FindsProspectinterface.phpc Layoutmanager.pnp@ machbomainbymallintenace.pnpOpponunityAcuivitymatcher.pnpw Opponunitvsyncstrarecvintenace.ono) Opponunilvsyncstralecvresolver.ono@ ProspectSearchScope.phpC) ProspectSearchStrateavFactorv.phoProspectSearchStrategvintertace.ohoC) ProviderReaistrv.pho@ RecordSelector.ohnT ResolveComoanvNameBv=mailtrait.ohoC) TimePerioditerator.ohoM imoorM Internalm Kioskv MAutomatedRenorte© ActivityTypeService.php© AskJiminnyReportActivityService.php© AutomatedReportsCallbackService.ph© AutomatedReportsService.php© DealStagesService.php© RecipientsService.php( RenortSort.pnp€ ReportSortDirection.php© KioskService.phpv C Mail>@ Actions>0 Office> 0 Repositories> 0 Resolvers→D Traits> M ValidatorsC) BatchCriteria.oho1BatchCriterialnterface.ohoC) BatchService.oho1BatchServicelnterface.oho@ EmailActivityService.php1SmailActivitvServicelnterface.ohn©EmailMessage.php(1EmailMeccagelnterface.nhng InboyService.nhn© [EMAIL](C) Mailchanne|Service nhn(C TovtDolavCorvico nhnM MootinaConoratorM Notifinntior© WebhookController.phpCreateReceivedNotification.phpC) Notifications/.SmsReceivea.onp© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.php XAAAAAHGFind in Filles• gooqle text userpublic function __constructOf...}In Project Module Directory Scope* Fetch the latest messages since the last syncpublic tunccion synco: arraysmarlbox = contiq key: "J1m1nny.900gle cexc.SexpectedRecipient = Smailbox .'a' . configlv = Sthis->gethistorvSserviceSmessagelids = UForeach smessage.nstorv as Shistories) <Smessages = Shistories->messagesAdded:foreach (Smessages as Smessage) 1$messageld = Smessage->message->id;fisthic->1cSarturnentFnvzronmentsSnplavedTeyt = TeytRolav:•whene coluif (SrelayedText === null) {srelayedlext = lexckelay..creacel'email provider' => TextRelavemart provlder10 => smessa'status' => TextRelay:: STATUSSiob = (new EmailTextRelay(Smessagelcdasoatches100)Smessagelds" = Smessageiidinpturn Smeccagelds:1 1 of 3 edits JAccept File &+X Reiect File Open results in new tab100% 5lue Ty May 10.4/.3/+0 ..= custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [euyA console [STAGING]De•@ -TAtovHaygroundSo jiminny vFile mask: *-php041 A1 A40 V65 ^b-afds-45a9-a248-86bbe56f5151) = uutdX5 Cc W *d id = 29510;68-7a0286ed8618') = uuid; # 79763436ids, GROUP_CONCAT(status) as statusesSearch1Password1Password is trying to unlockTouch iD or enter [PASSWORD_FIELD] Account Password…CancellNothing to showated ata.id) as sms count.Onen in Sind WindowCascadeFix AutomatedReportsCascadeText Relay Email RoutStep 3: TextRelavService:svnc( Processes Emaila ohooublic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice->users history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecoroforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llextrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReplvSmecsade = Sthis-saetMeccade(SmailService, Sthis-smessaaeTd)•Sheaders = Sthis->getHeaders(Spayload->getHeaders()): // To. From. Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theluser's reply message* Reiect alliiAsk anvthina (884-L)« Code SWF-1.6Accent alliPo. 4 spac...
|
58896
|
NULL
|
NULL
|
NULL
|
|
58897
|
2094
|
15
|
2026-05-19T13:47:37.967734+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198457967_m1.jpg...
|
PhpStorm
|
faVsco.js – TextRelayService.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:47:37Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
6043062030149447791
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:47:37Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
58895
|
NULL
|
NULL
|
NULL
|
|
58899
|
2095
|
21
|
2026-05-19T13:47:43.308289+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198463308_m2.jpg...
|
Firefox
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormINavigarecodeLaravelrTavsco.s°9 JY-20915-a PhostormINavigarecodeLaravelrTavsco.s°9 JY-20915-add-domainProledey© WebhookController.phpo umod ectsresoiver.ongC) Notifications/.SmsReceivea.onp© Mail/.../SmsReceived.php© DefaultProspectSearchStrategy.php© cmallhelper.onp© FindsProspectinterface.phpc Layoutmanager.pnp@ machbomainbymallintenace.pnpOpponunityAcuivitymatcher.pnpw Opponunitvsyncstrarecvintenace.ono) Opponunilvsyncstralecvresolver.ono@ ProspectSearchScope.phpC) ProspectSearchStrategvFactorv.phoProspectSearchStrategvintertace.ohoC) ProviderReaistrv.pho@ RecordSelector.phpT ResolveComoanvNameBvEmailtrait.ohoC) TimePerioditerator.ohoM imoorM Internalm Kioskv M AutomatedRenorte© ActivityTypeService.php© AskJiminnyReportActivityService.php© AutomatedReportsCallbackService.ph© AutomatedReportsService.php© DealStagesService.php© RecipientsService.php() RenortSort.pnp€ ReportSortDirection.php© KioskService.phpv C Mail>@ Actions>0 Office>→ Repositories> 0 Resolvers→D Traits> M ValidatorsC) BatchCriteria.oho1BatchCriterialnterface.ohoC) BatchService.oho1BatchServicelnterface.oho@ EmailActivityService.php1SmailActivitvServicelnterface.ohn©EmailMessage.php1EmailMeccagelnterface.nhng InhoyService.nhn© [EMAIL](C) Mailchanne|Service nhn(C TovtDolavCorvico nhnM MootinaConoratorM Notifinntionass lexckeldyservicepublic function __constructOf...}* Fetch the latest messages since the last syncpublic tunccion synco: arraysmarlbox = contig key: "J1minny.google cextSexpectedRecipient = Smailbox .'a' . configlv = Sthis->gethistorvSserviceSmessagelids = UForeach smessage.nstorv as Shistories) <Smessages = Shistories->messagesAdded:foreach (Smessages as Smessage) 1$messageld = Smessage->message->id;fisthic->1cSarurnen+FnvzronmentSnplavedTeyt = TeytRolav:•whene coluif (SrelayedText === null) {srelayedlext = lexckelay..creacel'email provider' => TextRelavemart provlder. 10 => smessa'status' => TextRelay:: STATUSSiob = (new EmailTextRelay(Smessagelcdasoatches100)Smessagelidsl = Smessageiidi100% 5• Tue 19 May 16:47:42+0 ..CreateReceivedNotification.phpsms-received.blade.php© TextRelayService.php XFind in Filles• gooqle text userIn Project Module Directory Scope= custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [eu)A console [STAGING]Tx: AutovHaygroundSo jiminny vFile mask: *-php941 A1 A40 M 65 ^b-afds-45a9-a248-86b0e56f5151) = uutdX5 Cc W *d id = 29510;Q Search 1Password68-7a0286ed8618') = uuid; # 79763436* & SpaceSnow Quick Accessge / Keyboard Shortcutsids, GROUP_CONCAT(status) as statusesNothing to showated ata.id) as sms count.Onen recults in now tabOnen in Sind WindowCascadeFix AutomatedReportsCascadeText Relay Email RoutStep 3: TextRelavService:svnc() Processes Emaila ohooublic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice-susers history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecoroforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llextrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReolvSmecsade = Sthis-saetMeccade(smailService, Sthis-smessaaeTd)•Sheaders = Sthis->getHeaders(Spayload->getHeaders()): // To. From. Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply message* Reiect alliiAsk anvthing 884-D)« Code SWF-1.6Accent alliPo. 4 spac...
|
NULL
|
2835089247860947575
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormINavigarecodeLaravelrTavsco.s°9 JY-20915-a PhostormINavigarecodeLaravelrTavsco.s°9 JY-20915-add-domainProledey© WebhookController.phpo umod ectsresoiver.ongC) Notifications/.SmsReceivea.onp© Mail/.../SmsReceived.php© DefaultProspectSearchStrategy.php© cmallhelper.onp© FindsProspectinterface.phpc Layoutmanager.pnp@ machbomainbymallintenace.pnpOpponunityAcuivitymatcher.pnpw Opponunitvsyncstrarecvintenace.ono) Opponunilvsyncstralecvresolver.ono@ ProspectSearchScope.phpC) ProspectSearchStrategvFactorv.phoProspectSearchStrategvintertace.ohoC) ProviderReaistrv.pho@ RecordSelector.phpT ResolveComoanvNameBvEmailtrait.ohoC) TimePerioditerator.ohoM imoorM Internalm Kioskv M AutomatedRenorte© ActivityTypeService.php© AskJiminnyReportActivityService.php© AutomatedReportsCallbackService.ph© AutomatedReportsService.php© DealStagesService.php© RecipientsService.php() RenortSort.pnp€ ReportSortDirection.php© KioskService.phpv C Mail>@ Actions>0 Office>→ Repositories> 0 Resolvers→D Traits> M ValidatorsC) BatchCriteria.oho1BatchCriterialnterface.ohoC) BatchService.oho1BatchServicelnterface.oho@ EmailActivityService.php1SmailActivitvServicelnterface.ohn©EmailMessage.php1EmailMeccagelnterface.nhng InhoyService.nhn© [EMAIL](C) Mailchanne|Service nhn(C TovtDolavCorvico nhnM MootinaConoratorM Notifinntionass lexckeldyservicepublic function __constructOf...}* Fetch the latest messages since the last syncpublic tunccion synco: arraysmarlbox = contig key: "J1minny.google cextSexpectedRecipient = Smailbox .'a' . configlv = Sthis->gethistorvSserviceSmessagelids = UForeach smessage.nstorv as Shistories) <Smessages = Shistories->messagesAdded:foreach (Smessages as Smessage) 1$messageld = Smessage->message->id;fisthic->1cSarurnen+FnvzronmentSnplavedTeyt = TeytRolav:•whene coluif (SrelayedText === null) {srelayedlext = lexckelay..creacel'email provider' => TextRelavemart provlder. 10 => smessa'status' => TextRelay:: STATUSSiob = (new EmailTextRelay(Smessagelcdasoatches100)Smessagelidsl = Smessageiidi100% 5• Tue 19 May 16:47:42+0 ..CreateReceivedNotification.phpsms-received.blade.php© TextRelayService.php XFind in Filles• gooqle text userIn Project Module Directory Scope= custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console [eu)A console [STAGING]Tx: AutovHaygroundSo jiminny vFile mask: *-php941 A1 A40 M 65 ^b-afds-45a9-a248-86b0e56f5151) = uutdX5 Cc W *d id = 29510;Q Search 1Password68-7a0286ed8618') = uuid; # 79763436* & SpaceSnow Quick Accessge / Keyboard Shortcutsids, GROUP_CONCAT(status) as statusesNothing to showated ata.id) as sms count.Onen recults in now tabOnen in Sind WindowCascadeFix AutomatedReportsCascadeText Relay Email RoutStep 3: TextRelavService:svnc() Processes Emaila ohooublic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice-susers history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecoroforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llextrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReolvSmecsade = Sthis-saetMeccade(smailService, Sthis-smessaaeTd)•Sheaders = Sthis->getHeaders(Spayload->getHeaders()): // To. From. Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply message* Reiect alliiAsk anvthing 884-D)« Code SWF-1.6Accent alliPo. 4 spac...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58901
|
2095
|
22
|
2026-05-19T13:47:45.260905+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198465260_m2.jpg...
|
Firefox
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormroledeyINavicarecode?9 JY-20915-add-d© Def PhostormroledeyINavicarecode?9 JY-20915-add-d© DefaultProspectSearchStrategy.phpc) Emallmelper.onp1FindsProspecuintenace.onpLayoutwanager.onpMatenbomalnbycmallinterace.onpo uoponunityneuvilymatcher.ono© OpportunitySyncStrategyInterface.phpOpportunitysyncstraregykesolver.onp© ProspectSearchScope.php©Prospectsearchstrategyractory.pnpu Prospectsearchstrategyintenace.onpc)Providerkeoistrv.ono@ RecordSelector.phrT ResolvecompanvNameByEmailTrait.ohoC) TimePeriodIterator.phoImporiInternalKioskv AutomatedRenortsC) ActivitvTivoeService.ohoC) Ask.liminnvReportActivitvService.ohoC) AutomatedReportsCallbackService.ohC) AutomatedReportsService.oho© DealStagesService.php© RecipientsService.phpe) RenortSort nhr@ RenortSortDirection.ong(C) KiockService nhnv M Mail>@ Actionsaffino> @ RepositoriesM Docalvore>C Traitsm ValidatorS(e) RatchCriteria.pho@ BatchCriteriaInterface.phpc)BatchService.php(A PotchServicelnterface.phpC)EmaillActivivService.onoEmailActivitvServicelnterface.ohn(C) [EMAIL](1)InboxServicelnterface.oho(1)InternetMessageinterface.oho(c) Mailchanne Service nhn(C) TeytRelavService nhn1M MeptinaGenerato100% 5• Tue 19 May 16:47:44+0 ..C WebhookController.pnpNourications//smskecelveo.png© Mail/.../SmsReceived.phpass lexckeldyservicepublic function __constructOf...}* Fetch the latest messages since the last syncpublic tunccion synco: arraysmarlbox = contig key: "J1minny.google cextSexpectedRecipient = Smailbox .'a' . configlv = Sthis->gethistorvSserviceSmessagelids = UForeach smessage.nstorv as Shistories) <Smessages = Shistories->messagesAdded:ООФSSЗforeach (Smessages as Smessage) 1$messageld = Smessage->message->id;fisthic->1cSarturnentFnvzronmentSnplavedTeyt = TeytRolav:• whene colurif (SrelayedText === null) {srelayedlext = lexckelay..creacel'email provider' => TextRelayemart provlder.10 => smessa'status' => TextRelay:: STATUSSiob = (new EmailTextRelay(Smessagelddasoatches100)Smessagelds" = SmessageiidiCreateReceivedNotification.php=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [eu)sms-received.blade.php© TextRelayService.php XA console [STAGING]Tx: AutovSo jiminny vFind in Filles12 matches in 5 tillesFile mask: *-php941 A1 A40 V 65 ^b-afds-45a9-a248-86bbe56f5151) = uutdgooqle text userecwIn ProjectDirectory ScopeTextRelavService.oho 27config(jiminny.google_text_user)Smailboy = confialliminnynho 130d 1d = 29510:$mailbox = config(jiminny-google_text_user'),$mailService = $relayService->getService(config(jin)Q Search 1Passwordretum oservice-pusers_messages-getconelgwmm* & SpaceShow Quick ACcessge / Keyboard Shortcutsts.php 41/.php 88php 355ohn 26068-7a0286ed8618') = uuid; # 79763436retum sservice">users_messages">trasn(contiggmlgoogle_text_user => env('GOOGLE_TEXT_RELAY_MAILBOX') . '@'. env('GOOGLE_TEXT_RELAY_HOST').ids, GROUP_CONCAT(status) as statusesminny.php 69excuser => stingier => stingier => stlner.phpstorm.meta.php 5326.phpstorm.meta.php 7145pp_id'."iminny.logrocket_conference_id'.'fiminny.logrocket app_id'."iminny.qoogle_text_user.'fiminny.google.phpstorm.meta.php 8258TextRe avService,ono apo/Services/Maiputenv("600GLE_APPLICATION_CREDENTIALS=' • Scredentials):* Fetch the latest messaaes since the last sunclated atpublic function sync): arraySmailbox = config('jiminny.google_text_user'):$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');a.id) as sms count.Sservice = Sthis->getService($mailbox):SmessageHistory = Sthis->getHistory(Sservice):$messageIds = []:foreach (SmessageHistory as $histories) &smessages = shiscories->messaqesaddeo.foreach (Smessages as Smessage) {$messageId = $message->message->id;if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {Onen recults in now tabOnen in Sind WindowCascadeFix AutomatedReportsCascadeText Relay Email RoutStep 3: TextRelavService:svnc( Processes Emaila ohooublic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice->users history->uist(Smailbox):toreach Shistory=>qethistory as Shistorvkecordforeach ($historyRecord->getMessagesAdded (as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llexcrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReplvSmecsade = Sthis-saetMeccade(smailService, Sthis-smeccadeTd).Sheaders = Sthis->getHeaders($payload->getHeaders()): // To, From, Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply message* Reiect alliiAsk anvthina (884-L)« Code SWF-1.6Accent allPo. 4 spac...
|
NULL
|
5237424356323208994
|
NULL
|
click
|
ocr
|
NULL
|
PhostormroledeyINavicarecode?9 JY-20915-add-d© Def PhostormroledeyINavicarecode?9 JY-20915-add-d© DefaultProspectSearchStrategy.phpc) Emallmelper.onp1FindsProspecuintenace.onpLayoutwanager.onpMatenbomalnbycmallinterace.onpo uoponunityneuvilymatcher.ono© OpportunitySyncStrategyInterface.phpOpportunitysyncstraregykesolver.onp© ProspectSearchScope.php©Prospectsearchstrategyractory.pnpu Prospectsearchstrategyintenace.onpc)Providerkeoistrv.ono@ RecordSelector.phrT ResolvecompanvNameByEmailTrait.ohoC) TimePeriodIterator.phoImporiInternalKioskv AutomatedRenortsC) ActivitvTivoeService.ohoC) Ask.liminnvReportActivitvService.ohoC) AutomatedReportsCallbackService.ohC) AutomatedReportsService.oho© DealStagesService.php© RecipientsService.phpe) RenortSort nhr@ RenortSortDirection.ong(C) KiockService nhnv M Mail>@ Actionsaffino> @ RepositoriesM Docalvore>C Traitsm ValidatorS(e) RatchCriteria.pho@ BatchCriteriaInterface.phpc)BatchService.php(A PotchServicelnterface.phpC)EmaillActivivService.onoEmailActivitvServicelnterface.ohn(C) [EMAIL](1)InboxServicelnterface.oho(1)InternetMessageinterface.oho(c) Mailchanne Service nhn(C) TeytRelavService nhn1M MeptinaGenerato100% 5• Tue 19 May 16:47:44+0 ..C WebhookController.pnpNourications//smskecelveo.png© Mail/.../SmsReceived.phpass lexckeldyservicepublic function __constructOf...}* Fetch the latest messages since the last syncpublic tunccion synco: arraysmarlbox = contig key: "J1minny.google cextSexpectedRecipient = Smailbox .'a' . configlv = Sthis->gethistorvSserviceSmessagelids = UForeach smessage.nstorv as Shistories) <Smessages = Shistories->messagesAdded:ООФSSЗforeach (Smessages as Smessage) 1$messageld = Smessage->message->id;fisthic->1cSarturnentFnvzronmentSnplavedTeyt = TeytRolav:• whene colurif (SrelayedText === null) {srelayedlext = lexckelay..creacel'email provider' => TextRelayemart provlder.10 => smessa'status' => TextRelay:: STATUSSiob = (new EmailTextRelay(Smessagelddasoatches100)Smessagelds" = SmessageiidiCreateReceivedNotification.php=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [eu)sms-received.blade.php© TextRelayService.php XA console [STAGING]Tx: AutovSo jiminny vFind in Filles12 matches in 5 tillesFile mask: *-php941 A1 A40 V 65 ^b-afds-45a9-a248-86bbe56f5151) = uutdgooqle text userecwIn ProjectDirectory ScopeTextRelavService.oho 27config(jiminny.google_text_user)Smailboy = confialliminnynho 130d 1d = 29510:$mailbox = config(jiminny-google_text_user'),$mailService = $relayService->getService(config(jin)Q Search 1Passwordretum oservice-pusers_messages-getconelgwmm* & SpaceShow Quick ACcessge / Keyboard Shortcutsts.php 41/.php 88php 355ohn 26068-7a0286ed8618') = uuid; # 79763436retum sservice">users_messages">trasn(contiggmlgoogle_text_user => env('GOOGLE_TEXT_RELAY_MAILBOX') . '@'. env('GOOGLE_TEXT_RELAY_HOST').ids, GROUP_CONCAT(status) as statusesminny.php 69excuser => stingier => stingier => stlner.phpstorm.meta.php 5326.phpstorm.meta.php 7145pp_id'."iminny.logrocket_conference_id'.'fiminny.logrocket app_id'."iminny.qoogle_text_user.'fiminny.google.phpstorm.meta.php 8258TextRe avService,ono apo/Services/Maiputenv("600GLE_APPLICATION_CREDENTIALS=' • Scredentials):* Fetch the latest messaaes since the last sunclated atpublic function sync): arraySmailbox = config('jiminny.google_text_user'):$expectedRecipient = $mailbox . '@' . config('jiminny.google_text_host');a.id) as sms count.Sservice = Sthis->getService($mailbox):SmessageHistory = Sthis->getHistory(Sservice):$messageIds = []:foreach (SmessageHistory as $histories) &smessages = shiscories->messaqesaddeo.foreach (Smessages as Smessage) {$messageId = $message->message->id;if (!$this->isForCurrentEnvironment($service, $mailbox, $messageId, $expectedRecipient)) {Onen recults in now tabOnen in Sind WindowCascadeFix AutomatedReportsCascadeText Relay Email RoutStep 3: TextRelavService:svnc( Processes Emaila ohooublic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice->users history->uist(Smailbox):toreach Shistory=>qethistory as Shistorvkecordforeach ($historyRecord->getMessagesAdded (as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llexcrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReplvSmecsade = Sthis-saetMeccade(smailService, Sthis-smeccadeTd).Sheaders = Sthis->getHeaders($payload->getHeaders()): // To, From, Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply message* Reiect alliiAsk anvthina (884-L)« Code SWF-1.6Accent allPo. 4 spac...
|
58899
|
NULL
|
NULL
|
NULL
|
|
58900
|
2094
|
16
|
2026-05-19T13:47:45.293223+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198465293_m1.jpg...
|
Firefox
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:47:45Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday~, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
2720045537435585384
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.saltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock48420828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelovao Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:47:45Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stoyanova 12:00PMясно, в друго сYesterday~, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58902
|
2095
|
23
|
2026-05-19T13:47:48.680138+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198468680_m2.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Find in Files","depth":1,"bounds":{"left":0.2992021,"top":0.12609737,"width":0.024601065,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"12 matches in 5 files","depth":1,"bounds":{"left":0.32779256,"top":0.12609737,"width":0.04155585,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"File mask:","depth":1,"bounds":{"left":0.5315825,"top":0.12290503,"width":0.029587766,"height":0.019952115},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"*.php","depth":1,"bounds":{"left":0.5621675,"top":0.11971269,"width":0.027925532,"height":0.027134877},"on_screen":true,"value":"*.php","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"*.php","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXTextField","text":"*.php","depth":2,"bounds":{"left":0.5661569,"top":0.12609737,"width":0.011635638,"height":0.013567438},"on_screen":true,"value":"*.php","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":1,"bounds":{"left":0.5944149,"top":0.12290503,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pin Window","depth":1,"bounds":{"left":0.6037234,"top":0.12290503,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":1,"bounds":{"left":0.2962101,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"google_text_user","depth":2,"bounds":{"left":0.30718085,"top":0.15403032,"width":0.26196808,"height":0.017557861},"on_screen":true,"value":"google_text_user","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false}]...
|
1384932207001487188
|
-8421058304072907447
|
visual_change
|
accessibility
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58903
|
2094
|
17
|
2026-05-19T13:47:49.437986+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198469437_m1.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user
New Line
Match case
Words
Regex
Replace History
Replace
New Line...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Find in Files","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"12 matches in 5 files","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"File mask:","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"*.php","depth":1,"on_screen":true,"value":"*.php","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"*.php","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXTextField","text":"*.php","depth":2,"on_screen":true,"value":"*.php","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pin Window","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"google_text_user","depth":2,"on_screen":true,"value":"google_text_user","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match case","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":1,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":2,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
447311172177172457
|
827373799688344907
|
click
|
accessibility
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user
New Line
Match case
Words
Regex
Replace History
Replace
New Line...
|
58900
|
NULL
|
NULL
|
NULL
|
|
58904
|
2095
|
24
|
2026-05-19T13:47:49.451429+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198469451_m2.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user
New Line
Match case
Words
Regex
Replace History
Replace
New Line
Preserve case
In Project...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Find in Files","depth":1,"bounds":{"left":0.2992021,"top":0.12609737,"width":0.024601065,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"12 matches in 5 files","depth":1,"bounds":{"left":0.32779256,"top":0.12609737,"width":0.04155585,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"File mask:","depth":1,"bounds":{"left":0.5315825,"top":0.12290503,"width":0.029587766,"height":0.019952115},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"*.php","depth":1,"bounds":{"left":0.5621675,"top":0.11971269,"width":0.027925532,"height":0.027134877},"on_screen":true,"value":"*.php","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"*.php","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXTextField","text":"*.php","depth":2,"bounds":{"left":0.5661569,"top":0.12609737,"width":0.011635638,"height":0.013567438},"on_screen":true,"value":"*.php","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":1,"bounds":{"left":0.5944149,"top":0.12290503,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pin Window","depth":1,"bounds":{"left":0.6037234,"top":0.12290503,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":1,"bounds":{"left":0.2962101,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"google_text_user","depth":2,"bounds":{"left":0.30718085,"top":0.15403032,"width":0.26196808,"height":0.017557861},"on_screen":true,"value":"google_text_user","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"bounds":{"left":0.578125,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match case","depth":1,"bounds":{"left":0.5880984,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":1,"bounds":{"left":0.59674203,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":1,"bounds":{"left":0.60538566,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":2,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In Project","depth":2,"bounds":{"left":0.2992021,"top":0.1867518,"width":0.022938829,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-863285876668875888
|
-8400508459616594101
|
click
|
accessibility
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user
New Line
Match case
Words
Regex
Replace History
Replace
New Line
Preserve case
In Project...
|
58902
|
NULL
|
NULL
|
NULL
|
|
58905
|
2094
|
18
|
2026-05-19T13:47:54.861849+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198474861_m1.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.php484208front-end/package.jsonfront-end/yarn.lock8routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelova. Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanov••• James GrahamStoyan TanevLukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:47:54Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stuyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
3833893165731280424
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.php484208front-end/package.jsonfront-end/yarn.lock8routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emai• •ED→HomeDMsActivityFilesLater•*•MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesa. Stefka StoyanovaRo Nikolay Yankov®. Galya Dimitrova L€. Vasil Vasilev®. Aneliya Angelova. Stoyan TomovBs Todor Stamatov *d. Mario Georgiev. Nikolay Ivanov••• James GrahamStoyan TanevLukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:47:54Describe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stuyanova 12:00PMясно, в друго сYesterday, правим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58906
|
2095
|
25
|
2026-05-19T13:47:54.878642+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198474878_m2.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormProiectINavicarecode?9 JY-20915-add-© Defa PhostormProiectINavicarecode?9 JY-20915-add-© DefaultProspectSearchStrategy.phpc) Emallmelper.onp© FindsProspectinterface.php© LayoutManager.phpMatenbomalnbycmallinterace.onpo uoponunityneuvilymatcher.ono© OpportunitySyncStrategyInterface.phpOpportunitysyncstraregykesolver.onp© ProspectSearchScope.php©Prospectsearchstrategyractory.pnpu Prospectsearchstrategyintenace.onpc)Providerkeoistrv.ono@ RecordSelector.phr( ResolveCompanvNameByEmailTrait.phpC) TimePeriodIterator.phoImooriInternalKioskv AutomatedRenortsC) ActivitvtvoeService.ohoC) Ask.liminnvReportActivitvService.ohoC) AutomatedReportsCallbackService.oh© AutomatedReportsService.php© DealStagesService.php© RecipientsService.phpe) RenortSort nhr@ RenortSortDirection.ong(C) KiockService nhnv M Mail)MActioncaffino> @ RepositoriesM Docalvore>C TraitsMVolidatore(e) RatchCriteria.pho@ BatchCriterialnterface.phpc)BatchService.php(A PotchServicelnterface.phpC)EmaillActivivService.onoEmailActivitvServicelnterface.phpC) [EMAIL](1)InternetMessageinterface.oho(c) Mailchanne Service nhnM MestinaGeneratoNotification100% 5lue 19 May 16.4/:04+0 ..CreateReceivedNotification.php=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euyNourications//smskecelveo.png© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.php XA console [STAGING]AAAAAUUAhagggg u cлTx: AutovSo jiminny vFind in Filles12 matches in 5 tilles iFile mask: *.php041 A1 A40 V65 ^ec W-t494-0et5151=vutepublic function __constructOf...}In ProjectDirectoryScopeTextRelavService.oho 27* Fetch the latest messages since the last syncconfig(jiminny.google_text_user)Smailboy = confidllliminnTextRelayService.php 90TextRelavService.oho 130d 1d = 295101public tunccion synco: arrayWatchMailboxEvents.ohn A1smarlbox = contig key: "J1minny.google cextSexpectedRecipient = Smailbox .'a' . configl$mailbox = config(jiminny-google_text_user'),$mailService = $relayService->getService(config(jiminny.google_text_user)):return $service->users_messages->get(config(*iminny.google_text_useri), Smessageld);return $service->users_messages->trash(config(jiminny.google_text_user), Smessageld):google_text_user => env('GOOGLE_TEXT_RELAY_MAILBOX') . '@'. env('GOOGLE_TEXT_RELAY_HOST').EmailTextRelav.ohn 8%68-7a0286ed8618') = uuid; # 79763436EmailTextRelay.php 355EmailTextRelay.php 360jiminny.php 69ids, GROUP_CONCAT(status) as statuses‹Luser => "stringier => sting,v = Sthis->gethistorvSserviceer => stlner.onostorm.meta.ong sou/.phpstorm.meta.php 5326.phpstorm.meta.php 7145Smessagelids = Uo_id'."iminny.logrocket_conference_id'."iminny.logrocket app_id'.'fiminny.gooqle_text_user.'fiminny.google.phpstorm.meta.php 8258Foreach smessage.nstorv as Shistories) <TextRelavService.pho app/Services/Mailforeach (Smessages as Smessage) 1Smessageld = Smessage->message->id.dolfisthic->1cSarturnentFnvzronmentif (SnageToken) &Snarams | 'nageToken' = SoageToken:ated atSnplavedTeyt = TeytRolav: whene colurShistorvResnonse = Sservice->users historv->UistlsersHistorvdif (SrelayedText === null) {config( key:'jiminny.google_text_user'),Snanamesrelayedlext = lexckelay..creacel'email provider' => TextRelaya.id) as sms count.emart provlder10 => smess'status' => TextRelay:: STATUSSthis->setHistoryPoint($topic, ShistoryResponse->historyId):Siob = (new EmailTextRelay(Smessageldif (ShistoryResponse->getHistoryO) {Smessages = array merge(Smessages, ShistoryResponse->getHistoryO):SpageToken = $historyResponse->getNextPageTokenO:dasoatches100)} catch (\Exception $e) {Sentry:: captureException(Se):Smessagelds" = Smessageiidi•while (SpageToken):return Smessages:Onen recults in now tabOnen in Sind WindowCascadeFix AutomatedReportsCascadeText Relay Email RoutStep 3: TextRelavService:svnc( Processes Emaila ohooublic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice->users history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecordforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llexcrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReplvSmecsade = Sthis-saetMeccade(smailService, Sthis-smescadeTd).Sheaders = Sthis->getHeaders($payload->getHeaders()): // To, From, Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply message* Reiect alliiAsk anvthina (884-L)« Code SWF-1.6Accent alliPo. 4 spac...
|
NULL
|
-8222807562224365067
|
NULL
|
click
|
ocr
|
NULL
|
PhostormProiectINavicarecode?9 JY-20915-add-© Defa PhostormProiectINavicarecode?9 JY-20915-add-© DefaultProspectSearchStrategy.phpc) Emallmelper.onp© FindsProspectinterface.php© LayoutManager.phpMatenbomalnbycmallinterace.onpo uoponunityneuvilymatcher.ono© OpportunitySyncStrategyInterface.phpOpportunitysyncstraregykesolver.onp© ProspectSearchScope.php©Prospectsearchstrategyractory.pnpu Prospectsearchstrategyintenace.onpc)Providerkeoistrv.ono@ RecordSelector.phr( ResolveCompanvNameByEmailTrait.phpC) TimePeriodIterator.phoImooriInternalKioskv AutomatedRenortsC) ActivitvtvoeService.ohoC) Ask.liminnvReportActivitvService.ohoC) AutomatedReportsCallbackService.oh© AutomatedReportsService.php© DealStagesService.php© RecipientsService.phpe) RenortSort nhr@ RenortSortDirection.ong(C) KiockService nhnv M Mail)MActioncaffino> @ RepositoriesM Docalvore>C TraitsMVolidatore(e) RatchCriteria.pho@ BatchCriterialnterface.phpc)BatchService.php(A PotchServicelnterface.phpC)EmaillActivivService.onoEmailActivitvServicelnterface.phpC) [EMAIL](1)InternetMessageinterface.oho(c) Mailchanne Service nhnM MestinaGeneratoNotification100% 5lue 19 May 16.4/:04+0 ..CreateReceivedNotification.php=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euyNourications//smskecelveo.png© Mail/.../SmsReceived.phpsms-received.blade.php© TextRelayService.php XA console [STAGING]AAAAAUUAhagggg u cлTx: AutovSo jiminny vFind in Filles12 matches in 5 tilles iFile mask: *.php041 A1 A40 V65 ^ec W-t494-0et5151=vutepublic function __constructOf...}In ProjectDirectoryScopeTextRelavService.oho 27* Fetch the latest messages since the last syncconfig(jiminny.google_text_user)Smailboy = confidllliminnTextRelayService.php 90TextRelavService.oho 130d 1d = 295101public tunccion synco: arrayWatchMailboxEvents.ohn A1smarlbox = contig key: "J1minny.google cextSexpectedRecipient = Smailbox .'a' . configl$mailbox = config(jiminny-google_text_user'),$mailService = $relayService->getService(config(jiminny.google_text_user)):return $service->users_messages->get(config(*iminny.google_text_useri), Smessageld);return $service->users_messages->trash(config(jiminny.google_text_user), Smessageld):google_text_user => env('GOOGLE_TEXT_RELAY_MAILBOX') . '@'. env('GOOGLE_TEXT_RELAY_HOST').EmailTextRelav.ohn 8%68-7a0286ed8618') = uuid; # 79763436EmailTextRelay.php 355EmailTextRelay.php 360jiminny.php 69ids, GROUP_CONCAT(status) as statuses‹Luser => "stringier => sting,v = Sthis->gethistorvSserviceer => stlner.onostorm.meta.ong sou/.phpstorm.meta.php 5326.phpstorm.meta.php 7145Smessagelids = Uo_id'."iminny.logrocket_conference_id'."iminny.logrocket app_id'.'fiminny.gooqle_text_user.'fiminny.google.phpstorm.meta.php 8258Foreach smessage.nstorv as Shistories) <TextRelavService.pho app/Services/Mailforeach (Smessages as Smessage) 1Smessageld = Smessage->message->id.dolfisthic->1cSarturnentFnvzronmentif (SnageToken) &Snarams | 'nageToken' = SoageToken:ated atSnplavedTeyt = TeytRolav: whene colurShistorvResnonse = Sservice->users historv->UistlsersHistorvdif (SrelayedText === null) {config( key:'jiminny.google_text_user'),Snanamesrelayedlext = lexckelay..creacel'email provider' => TextRelaya.id) as sms count.emart provlder10 => smess'status' => TextRelay:: STATUSSthis->setHistoryPoint($topic, ShistoryResponse->historyId):Siob = (new EmailTextRelay(Smessageldif (ShistoryResponse->getHistoryO) {Smessages = array merge(Smessages, ShistoryResponse->getHistoryO):SpageToken = $historyResponse->getNextPageTokenO:dasoatches100)} catch (\Exception $e) {Sentry:: captureException(Se):Smessagelds" = Smessageiidi•while (SpageToken):return Smessages:Onen recults in now tabOnen in Sind WindowCascadeFix AutomatedReportsCascadeText Relay Email RoutStep 3: TextRelavService:svnc( Processes Emaila ohooublic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice->users history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecordforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llexcrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReplvSmecsade = Sthis-saetMeccade(smailService, Sthis-smescadeTd).Sheaders = Sthis->getHeaders($payload->getHeaders()): // To, From, Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply message* Reiect alliiAsk anvthina (884-L)« Code SWF-1.6Accent alliPo. 4 spac...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58908
|
2095
|
26
|
2026-05-19T13:48:00.965179+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198480965_m2.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user
New Line
Match case
Words
Regex
Replace History
Replace...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Find in Files","depth":1,"bounds":{"left":0.2992021,"top":0.12609737,"width":0.024601065,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"12 matches in 5 files","depth":1,"bounds":{"left":0.32779256,"top":0.12609737,"width":0.04155585,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"File mask:","depth":1,"bounds":{"left":0.5315825,"top":0.12290503,"width":0.029587766,"height":0.019952115},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"*.php","depth":1,"bounds":{"left":0.5621675,"top":0.11971269,"width":0.027925532,"height":0.027134877},"on_screen":true,"value":"*.php","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"*.php","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXTextField","text":"*.php","depth":2,"bounds":{"left":0.5661569,"top":0.12609737,"width":0.011635638,"height":0.013567438},"on_screen":true,"value":"*.php","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":1,"bounds":{"left":0.5944149,"top":0.12290503,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pin Window","depth":1,"bounds":{"left":0.6037234,"top":0.12290503,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":1,"bounds":{"left":0.2962101,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"google_text_user","depth":2,"bounds":{"left":0.30718085,"top":0.15403032,"width":0.26196808,"height":0.017557861},"on_screen":true,"value":"google_text_user","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"bounds":{"left":0.578125,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match case","depth":1,"bounds":{"left":0.5880984,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":1,"bounds":{"left":0.59674203,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":1,"bounds":{"left":0.60538566,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":2,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
2859544804205387758
|
827373782508443083
|
click
|
accessibility
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user
New Line
Match case
Words
Regex
Replace History
Replace...
|
58906
|
NULL
|
NULL
|
NULL
|
|
58907
|
2094
|
19
|
2026-05-19T13:48:00.965195+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198480965_m1.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user
New Line
Match case
Words
Regex
Replace History
Replace...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Find in Files","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"12 matches in 5 files","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"File mask:","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"*.php","depth":1,"on_screen":true,"value":"*.php","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"*.php","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXTextField","text":"*.php","depth":2,"on_screen":true,"value":"*.php","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pin Window","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"google_text_user","depth":2,"on_screen":true,"value":"google_text_user","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match case","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":1,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":2,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
2859544804205387758
|
827373782508443083
|
click
|
accessibility
|
NULL
|
Find in Files
12 matches in 5 files
File mask:
*.p Find in Files
12 matches in 5 files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
google_text_user
New Line
Match case
Words
Regex
Replace History
Replace...
|
58905
|
NULL
|
NULL
|
NULL
|
|
58909
|
2095
|
27
|
2026-05-19T13:48:03.549519+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198483549_m2.jpg...
|
PhpStorm
|
faVsco.js – jiminny.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormProiect vViewINavicarecodeKeractorTOOISFV PhostormProiect vViewINavicarecodeKeractorTOOISFV faVsco.js°9 JY-20915-add-domain-specifi©) WebhookController.pnp=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console leuy© DefaultProspectSearchStrategy.php© EmailHelper.php1FindsProspecuintenace.onp© LayoutManager.php0MatchDomain3vEmallintenace.ong(C) Notifications/.../SmsReceived.ongsms-received.blade.php© TextRelayService.phpA console [STAGING]o uoponunityneuvilymatcher.ono© OpportunitySyncStrategyInterface.phpOpportunitysyncstraregykesolver.onp© ProspectSearchScope.php© ProspectSearchStrategyFactory.phpu Prospectsearchstrategyintenace.onp@ RecordSelector.phr( ResolveCompanvNameByEmailTrait.phpC) TimePeriodIterator.phoImporiInternalKioskv AutomatedRenortsC) ActivitvTivoeService.ohoC) Ask.liminnvReportActivitvService.ohoC) AutomatedReportsCallbackService.ohC) AutomatedReportsService.oho© DealStagesService.php© RecipientsService.phpe) RenortSort nhr@ RenortSortDirection.ong(C) KiockService nhnm Mail>@ ActionsaffinoD RepositoriesM Docalvore>C TraitsM Volidatare(e) RatchCriteria.pho@ BatchCriterialnterface.php© BatchService.php• BatchServicelnterface.phpC)EmaillActivivService.onoEmailActivitvServicelnterface.phpC) [EMAIL] о о1)InternetMessageinterface.oho@ MailChanne|Service nhn(C) TeytRelavService nhnM MestinaGeneratoNotificationClient_cdn_signed_cookie_domain' = env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKTE_DOMAIN",$663env" key:'TUNNEL HOST''outlook_url' => env( key: "OUTLOOK_URL')'chrome_ext_id' => env( key: 'CHROME_WEB_STORE_EXT_ID'),669'client_data_cloud_front_key_pair_id' => env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_KEY_PAIR_ID')=> env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_PRIVATE_KEY')'intercom_secret' => env( key: 'INTERCOM_SECRET').'intercom app id' => env( key: 'INTERCOM APP ID').'logrocket conference id' => env( key: 'LOGROCKET CONFERENCE ID').'logrocket app id' => env( key: 'LOGROCKET APP ID')676'google_text_user' => env( key: 'GO0GLE_TEXT_RELAY_MAILBOX') . '@' . env( key: 'GOOGLE_TEXT_RELAY_HOS 679'google text host' => env( key: 'GOOGLE TEXT RELAY HOST').678680'google_text_relay_topic' => env( key: 'GOOGLE_TEXT_RELAY_TOPIC'),'google text relav subscription' => env( key:'GOOGLE TEXT RELAY SUBSCRIPTION')682scheduler Lo0' => envc kev: "SCHEDULER LOG".default: (DTRECTORY SEPARATOR === '||') ≥ 'NUL' : */devi684'Silence_fill' => env( key: "SILENCE_FILL' ,default: '0').685686687'video_scale_flags' => env( key: "VIDEO_SCALE_FLAGS", detault: 'Lanczos')689"video 1ibx264 tunel => envdkev: "VIDEO LTBX264 TUNEI.default:'animation')'video_encoder' => env( key: 'VIDE0_ENCODER', default: 'Libx264').laudio encoder= envd key: "AUDTO ENCODER!.default: "Libfdk aac')692'browserstack_usernanme' => env( key: 'BROWSERSTACK_USERNAME') .'browserstack access_key' => env( key: 'BROWSERSTACK_ACCESS_KEY').'browserstack server' => env( key:'BROWSERSTACK_SERVER').695'mailtrap inbox id' => env( key: 'MAILTRAP INBOX ID').'mailtrap api token' => env( key: 'MAILTRAP API TOKEN').'mailtrap api' => env( key: 'MAILTRAP API').690'transcription' => ['minimum_track_lenath' => 30'assembly-ai' => ['base url' => env( key: 'TRANSCRIPTION_ PROVIDER_ASSEMBLYAT _BASEURL')'bearer token' => env( kev: 'TRANSCRIPTTON PROVIDER ASSEMBLYAT TOKEN')acter' hac heon rectored Il Pollback II Confiaure (todav 15-15)Tx: AutovSo jiminny v041 A1 A40 V65 ^SELECT * FROMautomated-neport.nesulie WeeRtwmd.t..4-t-0t151)=vuteselect * from text_relays where created_at > '2026-01-01';and 1d IN (32415. 3241691#and id = 32412:select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42',119e2033ed8ea6h10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atSpnM activitiodWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id,status,code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id.uuid, status, code, sender, recipient, created_at, updated_atFROM text_relaysWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenORDER BY sms_count DESCcolort + fnom toame whone id = 1.colort + fnom nolec,100% 5• Tue 19 May 16:48:03U AskJiminnyReportActivityServiceTest -CascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..Step 3: TextRelavService:svnc( Processes Emaila ohopubic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice->users history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecordforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llexcrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReplvSmecsade = Sthis-saetMeccade(SmailService. Sthis-smessaneTd)•Sheaders = Sthis->getHeaders($payload->getHeaders()): // To, From, Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply message* Reiect alliiAccent alliAsk anvthina (884-L)« Code SWF-1.6W Windsurf Teams 60-6Po 4 spaces...
|
NULL
|
-8863056653055386216
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormProiect vViewINavicarecodeKeractorTOOISFV PhostormProiect vViewINavicarecodeKeractorTOOISFV faVsco.js°9 JY-20915-add-domain-specifi©) WebhookController.pnp=custom.log= laravel.log4 SF jiminny@localhost]4 HS_local [jiminny@localhost]& console (PROD] X# console leuy© DefaultProspectSearchStrategy.php© EmailHelper.php1FindsProspecuintenace.onp© LayoutManager.php0MatchDomain3vEmallintenace.ong(C) Notifications/.../SmsReceived.ongsms-received.blade.php© TextRelayService.phpA console [STAGING]o uoponunityneuvilymatcher.ono© OpportunitySyncStrategyInterface.phpOpportunitysyncstraregykesolver.onp© ProspectSearchScope.php© ProspectSearchStrategyFactory.phpu Prospectsearchstrategyintenace.onp@ RecordSelector.phr( ResolveCompanvNameByEmailTrait.phpC) TimePeriodIterator.phoImporiInternalKioskv AutomatedRenortsC) ActivitvTivoeService.ohoC) Ask.liminnvReportActivitvService.ohoC) AutomatedReportsCallbackService.ohC) AutomatedReportsService.oho© DealStagesService.php© RecipientsService.phpe) RenortSort nhr@ RenortSortDirection.ong(C) KiockService nhnm Mail>@ ActionsaffinoD RepositoriesM Docalvore>C TraitsM Volidatare(e) RatchCriteria.pho@ BatchCriterialnterface.php© BatchService.php• BatchServicelnterface.phpC)EmaillActivivService.onoEmailActivitvServicelnterface.phpC) [EMAIL] о о1)InternetMessageinterface.oho@ MailChanne|Service nhn(C) TeytRelavService nhnM MestinaGeneratoNotificationClient_cdn_signed_cookie_domain' = env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKTE_DOMAIN",$663env" key:'TUNNEL HOST''outlook_url' => env( key: "OUTLOOK_URL')'chrome_ext_id' => env( key: 'CHROME_WEB_STORE_EXT_ID'),669'client_data_cloud_front_key_pair_id' => env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_KEY_PAIR_ID')=> env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_PRIVATE_KEY')'intercom_secret' => env( key: 'INTERCOM_SECRET').'intercom app id' => env( key: 'INTERCOM APP ID').'logrocket conference id' => env( key: 'LOGROCKET CONFERENCE ID').'logrocket app id' => env( key: 'LOGROCKET APP ID')676'google_text_user' => env( key: 'GO0GLE_TEXT_RELAY_MAILBOX') . '@' . env( key: 'GOOGLE_TEXT_RELAY_HOS 679'google text host' => env( key: 'GOOGLE TEXT RELAY HOST').678680'google_text_relay_topic' => env( key: 'GOOGLE_TEXT_RELAY_TOPIC'),'google text relav subscription' => env( key:'GOOGLE TEXT RELAY SUBSCRIPTION')682scheduler Lo0' => envc kev: "SCHEDULER LOG".default: (DTRECTORY SEPARATOR === '||') ≥ 'NUL' : */devi684'Silence_fill' => env( key: "SILENCE_FILL' ,default: '0').685686687'video_scale_flags' => env( key: "VIDEO_SCALE_FLAGS", detault: 'Lanczos')689"video 1ibx264 tunel => envdkev: "VIDEO LTBX264 TUNEI.default:'animation')'video_encoder' => env( key: 'VIDE0_ENCODER', default: 'Libx264').laudio encoder= envd key: "AUDTO ENCODER!.default: "Libfdk aac')692'browserstack_usernanme' => env( key: 'BROWSERSTACK_USERNAME') .'browserstack access_key' => env( key: 'BROWSERSTACK_ACCESS_KEY').'browserstack server' => env( key:'BROWSERSTACK_SERVER').695'mailtrap inbox id' => env( key: 'MAILTRAP INBOX ID').'mailtrap api token' => env( key: 'MAILTRAP API TOKEN').'mailtrap api' => env( key: 'MAILTRAP API').690'transcription' => ['minimum_track_lenath' => 30'assembly-ai' => ['base url' => env( key: 'TRANSCRIPTION_ PROVIDER_ASSEMBLYAT _BASEURL')'bearer token' => env( kev: 'TRANSCRIPTTON PROVIDER ASSEMBLYAT TOKEN')acter' hac heon rectored Il Pollback II Confiaure (todav 15-15)Tx: AutovSo jiminny v041 A1 A40 V65 ^SELECT * FROMautomated-neport.nesulie WeeRtwmd.t..4-t-0t151)=vuteselect * from text_relays where created_at > '2026-01-01';and 1d IN (32415. 3241691#and id = 32412:select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42',119e2033ed8ea6h10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atSpnM activitiodWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id,status,code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id.uuid, status, code, sender, recipient, created_at, updated_atFROM text_relaysWHERE uuid = uuid to bin('0626141c-27a6-4d8c-aff8-7c8020a2c656'):[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnllp ry u id u email u namo u coftnhono numhenORDER BY sms_count DESCcolort + fnom toame whone id = 1.colort + fnom nolec,100% 5• Tue 19 May 16:48:03U AskJiminnyReportActivityServiceTest -CascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..Step 3: TextRelavService:svnc( Processes Emaila ohopubic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice->users history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecordforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay: STATUS PENDINGdispatch(new tma1llexcrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReplvSmecsade = Sthis-saetMeccade(SmailService. Sthis-smessaneTd)•Sheaders = Sthis->getHeaders($payload->getHeaders()): // To, From, Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply message* Reiect alliiAccent alliAsk anvthina (884-L)« Code SWF-1.6W Windsurf Teams 60-6Po 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58910
|
2094
|
20
|
2026-05-19T13:48:04.318750+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198484318_m1.jpg...
|
Slack
|
Stefka Stoyanova (DM) - Jiminny Inc - 4 new items Stefka Stoyanova (DM) - Jiminny Inc - 4 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.php48app/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock20828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emaHomeDMsActivityFilesLater•*•More•ED→Jiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesd. James Graham&. Stefka StoyanovaRo Nikolay Yankov. Galya DimitrovaB. Vasil Vasileve. Aneliya Angelova. Stoyan TomovSo Todor Stamatov "M. Mario Georgiev. Nikolay Ivanov8 Stoyan TanevE Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:48:03QDescribe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stuyanova 12:00PMясно, в друго сYesterdayправим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
-8645403186758158673
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)₴82APP (-zsl(use "git restore ‹file›..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpnochanges added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-20->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.php48app/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lock20828routes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php42862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emaHomeDMsActivityFilesLater•*•More•ED→Jiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesd. James Graham&. Stefka StoyanovaRo Nikolay Yankov. Galya DimitrovaB. Vasil Vasileve. Aneliya Angelova. Stoyan TomovSo Todor Stamatov "M. Mario Georgiev. Nikolay Ivanov8 Stoyan TanevE Lukas Kovalik y...::: Appsi Jira CloudToast100% <7Tue 19 May 16:48:03QDescribe what you are looking forStefka StoyanovaMessagesC Files@ UntitledMore ~+Jteкa stuyanova 12:00PMясно, в друго сYesterdayправим?Lukas Kovalik 12:02 PMда, то мисля че James трябва да създадеГаля каза че ще говори с него, сега е в почивкаStefka Stoyanova 12:05 PMдобреима доста завършени SRD-та в спринтаможе ли да им сложиш естимейти?Lukas Kovalik 12:06 PMда ще ги добавяStefka Stoyanova 12:06 PMmersiToday ~NewStefka Stoyanova 4:39 PMЛукаш, оправи ли се с мейла?Lukas Kovalik 4:41 PMгледам го точно сегамай трябва да е самата домена@txt.jiminny.euне само emailв момента ползваме@txt.jiminny.comMessage Stefka Stoyanova..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58911
|
2094
|
21
|
2026-05-19T13:48:10.381876+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198490381_m1.jpg...
|
Slack
|
James Graham (DM) - Jiminny Inc - 3 new items - Sl James Graham (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpDOCKER• ₴1DEV SlackFileEditViewGoHistoryWindowHelpDOCKER• ₴1DEV (docker)₴82(use "git restore<file>..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpno changes added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-eventsUpdating 5604af40cf..177ea29b8dorigin/JY-24origin/JY-20app/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonroutes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php2910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emaAPPAPP (-zsl...EDHomeDMsActivityFilesLater.••MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messages2 James Graham&. Stefka StoyanovaRio Nikolay Yankov. Galya Dimitrova€. Vasil Vasileve. Aneliya Angelova. Stoyan TomovSo Todor Stamatov "M. Mario Georgiev. Nikolay Ivanov8 Stoyan TanevE Lukas Kovalik y...::: Appsi Jira CloudToastlhl100% CTue 19 May 16:48:10QDescribe what you are looking forJames Graham6 0MessagesC Files+Try nowWednesday, May 13th ~Lukas Kovalik 11:30 AMyes, works nowthanks a lotenjoy the vacationJames Graham 11:31 AMCheers!Today•.•James Grahihttps://jiminny.atlassian.net/browse/JY-20915heya, for this ticket, which DNS changes do youhave in mind?Jira Cloud -XEl Preview in SackAdd environment-sStatusBacklogPriority= MediumAssigneeUnassignedAs of today at 4:48 PM RefreshOpen in JiraSummariseMessage James GrahamJames Graham is typing...
|
NULL
|
8781128320547296835
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpDOCKER• ₴1DEV SlackFileEditViewGoHistoryWindowHelpDOCKER• ₴1DEV (docker)₴82(use "git restore<file>..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpno changes added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-eventsUpdating 5604af40cf..177ea29b8dorigin/JY-24origin/JY-20app/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonroutes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php2910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emaAPPAPP (-zsl...EDHomeDMsActivityFilesLater.••MoreJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messages2 James Graham&. Stefka StoyanovaRio Nikolay Yankov. Galya Dimitrova€. Vasil Vasileve. Aneliya Angelova. Stoyan TomovSo Todor Stamatov "M. Mario Georgiev. Nikolay Ivanov8 Stoyan TanevE Lukas Kovalik y...::: Appsi Jira CloudToastlhl100% CTue 19 May 16:48:10QDescribe what you are looking forJames Graham6 0MessagesC Files+Try nowWednesday, May 13th ~Lukas Kovalik 11:30 AMyes, works nowthanks a lotenjoy the vacationJames Graham 11:31 AMCheers!Today•.•James Grahihttps://jiminny.atlassian.net/browse/JY-20915heya, for this ticket, which DNS changes do youhave in mind?Jira Cloud -XEl Preview in SackAdd environment-sStatusBacklogPriority= MediumAssigneeUnassignedAs of today at 4:48 PM RefreshOpen in JiraSummariseMessage James GrahamJames Graham is typing...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58912
|
2094
|
22
|
2026-05-19T13:48:12.633307+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198492633_m1.jpg...
|
Slack
|
James Graham (DM) - Jiminny Inc - 3 new items - Sl James Graham (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.51180553,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"bounds":{"left":0.50625,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"bounds":{"left":0.5138889,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.50625,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"bounds":{"left":0.5159722,"top":0.26777777,"width":0.016666668,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.50625,"top":0.2911111,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.027083334,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.0055555557,"height":0.015555556}},{"char_start":1,"char_count":7,"bounds":{"left":0.5159722,"top":0.34333333,"width":0.022222223,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.50625,"top":0.36666667,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"bounds":{"left":0.51666665,"top":0.4188889,"width":0.015972223,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51666665,"top":0.4188889,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":4,"bounds":{"left":0.5208333,"top":0.4188889,"width":0.011805556,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.50625,"top":0.4422222,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"bounds":{"left":0.5152778,"top":0.49444443,"width":0.018055556,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.50625,"top":0.5177778,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"bounds":{"left":0.5152778,"top":0.57,"width":0.01875,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.039583333,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.68472224,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.050694443,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.09166667,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.093055554,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.046527777,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.025694445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.072222225,"height":0.0011111111},"on_screen":true,"role_description":"text"}]...
|
398477506732277603
|
-8141218696929001753
|
visual_change
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
SlackFileEditViewGoHistoryWindowHelpAPPAPP (-zsl...ED• →DOCKER• ₴1DEV (docker)₴82(use "git restore<file>..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpHomeDMsActivityFilesno changes added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63,remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-eventsUpdating 5604af40cf..177ea29b8dLater.••Moreorigin/JY-24origin/JY-20app/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonroutes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php2910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emaJiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messages2 James Graham&. Stefka StoyanovaRo Nikolay Yankov. Galya Dimitrova€. Vasil Vasileve. Aneliya Angelova. Stoyan TomovSo Todor Stamatov "M. Mario Georgiev. Nikolay Ivanov8 Stoyan TanevE. Lukas Kovalik y...::: Appsi Jira CloudToastlhl100% C8•Tue 19 May 16:48:12QDescribe what you are looking forJames Graham6 0• MessagesC Files+Try nowWednesday, May 13th ~Lukas Kovalik 11:30 AMyes, works nowthanks a lotenjoy the vacationJames Graham 11:31 AMCheers!Today ~James Graham 4:48 PMhttps://jiminny.atlassian.net/browse/JY-20915heya, for this ticket, which DNS changes do youhave in mind?Jira Cloud -Add environment-specific email doma...$ Bug JY-20915 in Jira CloudStatusBacklogPriority= MediumAssigneeUnassignedAs of today at 4:48 PMOpen in JiraSummariseMessage James GrahamJames Graham is typing...
|
58911
|
NULL
|
NULL
|
NULL
|
|
58913
|
2095
|
28
|
2026-05-19T13:48:35.144408+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198515144_m2.jpg...
|
Slack
|
James Graham (DM) - Jiminny Inc - 4 new items - Sl James Graham (DM) - Jiminny Inc - 4 new items - Slack...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
James Graham
Stefka Stoyanova
Nikolay Yankov
Galya Dimitrova
Vasil Vasilev
Aneliya Angelova
Stoyan Tomov
Todor Stamatov
Mario Georgiev
Nikolay Ivanov
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Lukas Kovalik
May 13th at 11:09:17 AM
11:09 AM
Cool have a nice trip, I have just quick question when you have time
May 13th at 11:09:43 AM
11:09
there is a task I have for BE libs upgrade from Vanta
May 13th at 11:09:49 AM
11:09
but I can’t open it
May 13th at 11:10:09 AM
11:10
it still redirects me to onboarding page
May 13th at 11:10:19 AM
11:10
probably some access issue
May 13th at 11:10:50 AM
11:10
or maybe if you have no way of doing it now, who can I reach for that
May 13th at 11:11:00 AM
11:11
it is not urgent
James Graham
May 13th at 11:24:17 AM
11:24 AM
Aha, so you need a different access to Vanta, let me check
May 13th at 11:25:43 AM
11:25
Try now
Lukas Kovalik
May 13th at 11:30:57 AM
11:30 AM
yes, works now
May 13th at 11:31:01 AM
11:31
thanks a lot
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
May 13th at 11:31:17 AM
11:31
enjoy the vacation
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
James Graham
May 13th at 11:31:23 AM
11:31 AM
Cheers!
React with white_check_mark
React with eyes...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.5152925,"top":1.0,"width":0.011968086,"height":-0.058260202},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018949468,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.01761968,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.02925532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.5980718,"top":1.0,"width":0.0026595744,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.024268618,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.043882977,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.04454787,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.022273935,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.012300532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.010638298,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.034574468,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.027593086,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.025930852,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"James Graham","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tomov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Todor Stamatov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Mario Georgiev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"bounds":{"left":0.61170214,"top":1.0,"width":0.030917553,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"bounds":{"left":0.64361703,"top":1.0,"width":0.020944148,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"bounds":{"left":0.66589093,"top":1.0,"width":0.010638298,"height":-0.09177971},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:09:17 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:09 AM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cool have a nice trip, I have just quick question when you have time","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:09:43 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:09","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"there is a task I have for BE libs upgrade from Vanta","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:09:49 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:09","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"but I can’t open it","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:10:09 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:10","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"it still redirects me to onboarding page","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:10:19 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:10","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"probably some access issue","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:10:50 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:10","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or maybe if you have no way of doing it now, who can I reach for that","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:11:00 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:11","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"it is not urgent","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"James Graham","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:24:17 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:24 AM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aha, so you need a different access to Vanta, let me check","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:25:43 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:25","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Try now","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Lukas Kovalik","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:30:57 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:30 AM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"yes, works now","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:31:01 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:31","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thanks a lot","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"May 13th at 11:31:17 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:31","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"enjoy the vacation","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"James Graham","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:31:23 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:31 AM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cheers!","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-3704261119085423060
|
-7116147047483927950
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
James Graham
Stefka Stoyanova
Nikolay Yankov
Galya Dimitrova
Vasil Vasilev
Aneliya Angelova
Stoyan Tomov
Todor Stamatov
Mario Georgiev
Nikolay Ivanov
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Lukas Kovalik
May 13th at 11:09:17 AM
11:09 AM
Cool have a nice trip, I have just quick question when you have time
May 13th at 11:09:43 AM
11:09
there is a task I have for BE libs upgrade from Vanta
May 13th at 11:09:49 AM
11:09
but I can’t open it
May 13th at 11:10:09 AM
11:10
it still redirects me to onboarding page
May 13th at 11:10:19 AM
11:10
probably some access issue
May 13th at 11:10:50 AM
11:10
or maybe if you have no way of doing it now, who can I reach for that
May 13th at 11:11:00 AM
11:11
it is not urgent
James Graham
May 13th at 11:24:17 AM
11:24 AM
Aha, so you need a different access to Vanta, let me check
May 13th at 11:25:43 AM
11:25
Try now
Lukas Kovalik
May 13th at 11:30:57 AM
11:30 AM
yes, works now
May 13th at 11:31:01 AM
11:31
thanks a lot
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
May 13th at 11:31:17 AM
11:31
enjoy the vacation
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
James Graham
May 13th at 11:31:23 AM
11:31 AM
Cheers!
React with white_check_mark
React with eyes
PhostormINavicatecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reProject©) WebhookController.pnp(c) Receivea.ong=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euy© SocialAccountService.php©SoftPhoneService.php© TeamDeactivatedService.php© TeamOwnerService.php© TeamService.php© TranscodeParameterResolver.php© UserService.php© Uuid.php> D Traits> O UseCasesC User> O Utils> [ Validation(C) Notifications/./SmsReceived.ong(C) Mail/../SmsReceived.pngsms-received.blade.php© TextRelayService.phpA console [STAGING]pnp jiminny.phpD 6.Tx: AutovSo jiminny v'client cdn sianed cookie domain' => env( key: 'S3 CLIENT DATA CLOUD FRONT SIGNED COO ™×17 ^ Y1663041 A1 A40 V65 ^webhook urt' =>enve kev:"TUNNEL HOST'?SELECT * FROMautomated-neport.nesulieWeer t-.4-t94-0et5151=m0te© InitialFrontendState.phpC) Jiminnv.ohoc) Plan.oho© Serializer.phpC)TeamScimDetails.ono› M bootstranM buildiv M contialM laravoltphp activity-providers.phpphp app.phpphp auth.phpphp aws.phpphp broadcasting.phpphp Cache.phpphp cashier.phppnp clouarront-proxies.ongpnp complle.onppnp connect-providers.ongpnp cors.onophp database.ppphp [EMAIL] debuabar.phpphp emails-import-filters.phpphp es-mappina-settinas.ohpphp timoed.onophp1llesvstems.onophp fractal.ohophp hashids.ohpphp hashina.ohophp imade.ohopho intearation-ann.nhnpho liminny nhnpho land nhn'outlook_url' => env( key: "OUTLOOK_URL')'chrome_ext_id' => env( key: 'CHROME_WEB_STORE_EXT_ID'),666 vselect * from text_relays where created_at >'2026-01-01'3and 1d IN (32415. 3241691#and id = 32412:669'client_data_cloud_front_key_pair_id' => env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_KEY_PAIR_ID')'client_data_cloud_front_private_key' => env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_PRIVATE_KEY')'intercom_secret' => env( key: 'INTERCOM_SECRET')'intercom app id' => env( key: 'INTERCOM APP ID').'Logrocket conference id' => env( key: 'LOGROCKET CONFERENCE ID').'logrocket app id' => env( key: 'LOGROCKET APP ID')676'google_text_user' => env( key: 'GO0GLE_TEXT_RELAY_MAILBOX') . '@' . env( key: 'GOOGLE_TEXT_RELAY_HOS 679gooqle text nost = env key: "GUUbLE TEXI RELAY HUSI').680'google_text_relay_topic' => env( key: 'GOOGLE_TEXT_RELAY_TOPIC'),aooqle text relav subscription'=> envc key:'GOOGLE TEXT RELAY SUBSCRIPTION')682scheduler Lo0' => envc kev: "SCHEDULER LOG".default: (DTRECTORY SEPARATOR === '||') ≥ 'NUL' : */devi684685'silence_fill' => env( key: 'SILENCE_FILL' ,detault:'0')687'video_scale_flags' => env( key: "VIDEO_SCALE_FLAGS",detault: "Lanczos")"video 1ibx264 tunel => envdkev: "VIDE0 LIBX264 TUNEI.default: 'animation')'video_encoder' => env( key: 'VIDE0_ENCODER', default: 'Libx264').laudio encoden!= envd key: "AUDTO ENCODERI.default: "Libfdk aac')'browserstack_usennanme' => env( key: 'BROWSERSTACK_USERNAME') .'browserstack access_key' => env( key: 'BROWSERSTACK_ACCESS_KEY').'browserstack server' => env( key: 'BROWSERSTACK_SERVER').695692'mailtrap inbox id' => env( key: 'MAILTRAP INBOX ID').'mailtrap api token' => env( key: 'MAILTRAP API TOKEN').'mailtrap api' => env( key: 'MAILTRAP API').690700701'transcription' => ['minimum_track lenath' => 30705'assembly-ai' => ['base url' => env( key: 'TRANSCRIPTION_ PROVIDER_ASSEMBLYAT _BASEURL')'bearer token' => env( kev: 'TRANSCRIPTTON PROVIDER ASSEMBLYAT TOKEN')select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42',119e2033ed8ea6h10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atSpnM activitiodWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id,status,code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uuid, status, code, sender, recipient, created_at, updated_atFROM text relavsWHERE vuid = uuid to bin( 0626141c-2126-4d8c-aff8-7c8020a2c656'0:[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numhenORDER BY sms_count DESCselect * from teams where id = 1;colort + fnom nolec.• lue 1y May 10.40.34AskJiminnyReportActivityServiceTest -CascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..Step 3: TextRelavService:svnc( Processes Emaila ohopubic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice-susers history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecordforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay:: STATUS PENDINGdispatch(new tma1llexcrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReolvSmecsade = Sthis-saetMeccade(smailService, Sthis-smessaaeTd)•Sheaders = Sthis->getHeaders($payload->getHeaders()): // To, From, Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply messageAsk anvthina (884-L)« Code SWF-1.6* Reiect alliiAccent alliRO-AIPo. 4 spac...
|
58909
|
NULL
|
NULL
|
NULL
|
|
58914
|
2095
|
29
|
2026-05-19T13:48:37.823277+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198517823_m2.jpg...
|
Slack
|
James Graham (DM) - Jiminny Inc - 4 new items - Sl James Graham (DM) - Jiminny Inc - 4 new items - Slack...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
James Graham
Stefka Stoyanova
Nikolay Yankov
Galya Dimitrova
Vasil Vasilev
Aneliya Angelova
Stoyan Tomov
Todor Stamatov
Mario Georgiev
Nikolay Ivanov
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Lukas Kovalik
May 13th at 11:09:17 AM
11:09 AM
Cool have a nice trip, I have just quick question when you have time
May 13th at 11:09:43 AM
11:09
there is a task I have for BE libs upgrade from Vanta
May 13th at 11:09:49 AM
11:09
but I can’t open it
May 13th at 11:10:09 AM
11:10
it still redirects me to onboarding page
May 13th at 11:10:19 AM
11:10
probably some access issue
May 13th at 11:10:50 AM
11:10
or maybe if you have no way of doing it now, who can I reach for that
May 13th at 11:11:00 AM
11:11
it is not urgent
James Graham
May 13th at 11:24:17 AM
11:24 AM
Aha, so you need a different access to Vanta, let me check
May 13th at 11:25:43 AM
11:25
Try now
Lukas Kovalik
May 13th at 11:30:57 AM
11:30 AM
yes, works now
May 13th at 11:31:01 AM
11:31
thanks a lot
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
May 13th at 11:31:17 AM
11:31
enjoy the vacation
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
James Graham
May 13th at 11:31:23 AM
11:31 AM
Cheers!
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Jump to date
James Graham
Today at 4:48:00 PM
4:48 PM
https://jiminny.atlassian.net/browse/JY-20915
https://jiminny.atlassian.net/browse/JY-20915
heya, for this ticket, which DNS changes do you have in mind?
Jira Cloud
Jira Cloud
Jira Cloud Bug JY-20915 Add environment-specific email domains for text relay to prevent duplicate processing Bug JY-20915 in Jira Cloud Preview in Slack Status Backlog Priority Medium Medium Assignee Unassigned Unassigned As of today at 4:48 PM Refresh Open in Jira ✨ Summarise...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.5152925,"top":1.0,"width":0.011968086,"height":-0.058260202},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018949468,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.01761968,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.02925532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.5980718,"top":1.0,"width":0.0026595744,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.024268618,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.043882977,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.04454787,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.022273935,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.012300532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.010638298,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.034574468,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.027593086,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.025930852,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"James Graham","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tomov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Todor Stamatov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Mario Georgiev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"bounds":{"left":0.61170214,"top":1.0,"width":0.030917553,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"bounds":{"left":0.64361703,"top":1.0,"width":0.020944148,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"bounds":{"left":0.66589093,"top":1.0,"width":0.010638298,"height":-0.09177971},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:09:17 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:09 AM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cool have a nice trip, I have just quick question when you have time","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:09:43 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:09","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"there is a task I have for BE libs upgrade from Vanta","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:09:49 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:09","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"but I can’t open it","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:10:09 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:10","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"it still redirects me to onboarding page","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:10:19 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:10","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"probably some access issue","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:10:50 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:10","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or maybe if you have no way of doing it now, who can I reach for that","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:11:00 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:11","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"it is not urgent","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"James Graham","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:24:17 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:24 AM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aha, so you need a different access to Vanta, let me check","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:25:43 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:25","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Try now","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Lukas Kovalik","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:30:57 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:30 AM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"yes, works now","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:31:01 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:31","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thanks a lot","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"May 13th at 11:31:17 AM","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:31","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"enjoy the vacation","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"James Graham","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 13th at 11:31:23 AM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:31 AM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cheers!","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"James Graham","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 4:48:00 PM","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4:48 PM","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://jiminny.atlassian.net/browse/JY-20915","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"https://jiminny.atlassian.net/browse/JY-20915","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"heya, for this ticket, which DNS changes do you have in mind?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Jira Cloud","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Jira Cloud Bug JY-20915 Add environment-specific email domains for text relay to prevent duplicate processing Bug JY-20915 in Jira Cloud Preview in Slack Status Backlog Priority Medium Medium Assignee Unassigned Unassigned As of today at 4:48 PM Refresh Open in Jira ✨ Summarise","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-1444168726666959054
|
-7116147013138869422
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
James Graham
Stefka Stoyanova
Nikolay Yankov
Galya Dimitrova
Vasil Vasilev
Aneliya Angelova
Stoyan Tomov
Todor Stamatov
Mario Georgiev
Nikolay Ivanov
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Lukas Kovalik
May 13th at 11:09:17 AM
11:09 AM
Cool have a nice trip, I have just quick question when you have time
May 13th at 11:09:43 AM
11:09
there is a task I have for BE libs upgrade from Vanta
May 13th at 11:09:49 AM
11:09
but I can’t open it
May 13th at 11:10:09 AM
11:10
it still redirects me to onboarding page
May 13th at 11:10:19 AM
11:10
probably some access issue
May 13th at 11:10:50 AM
11:10
or maybe if you have no way of doing it now, who can I reach for that
May 13th at 11:11:00 AM
11:11
it is not urgent
James Graham
May 13th at 11:24:17 AM
11:24 AM
Aha, so you need a different access to Vanta, let me check
May 13th at 11:25:43 AM
11:25
Try now
Lukas Kovalik
May 13th at 11:30:57 AM
11:30 AM
yes, works now
May 13th at 11:31:01 AM
11:31
thanks a lot
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
May 13th at 11:31:17 AM
11:31
enjoy the vacation
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
James Graham
May 13th at 11:31:23 AM
11:31 AM
Cheers!
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Jump to date
James Graham
Today at 4:48:00 PM
4:48 PM
https://jiminny.atlassian.net/browse/JY-20915
https://jiminny.atlassian.net/browse/JY-20915
heya, for this ticket, which DNS changes do you have in mind?
Jira Cloud
Jira Cloud
Jira Cloud Bug JY-20915 Add environment-specific email domains for text relay to prevent duplicate processing Bug JY-20915 in Jira Cloud Preview in Slack Status Backlog Priority Medium Medium Assignee Unassigned Unassigned As of today at 4:48 PM Refresh Open in Jira ✨ Summarise
PhostormINavicatecodeFV faVsco.js°9 JY-20915-add-domain-specific-email-text-reProject©) WebhookController.pnp(c) Receivea.ong=custom.log= laravel.log« SF jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD] X# console [euy© SocialAccountService.php©SoftPhoneService.php© TeamDeactivatedService.php© TeamOwnerService.php© TeamService.php© TranscodeParameterResolver.php© UserService.php© Uuid.php> D Traits> O UseCasesC User> O Utils> [ Validation(C) Notifications/./SmsReceived.ong(C) Mail/../SmsReceived.pngsms-received.blade.php© TextRelayService.phpA console [STAGING]pnp jiminny.phpD 6.Tx: AutovSo jiminny v'client cdn sianed cookie domain' => env( key: 'S3 CLIENT DATA CLOUD FRONT SIGNED COO ™×17 ^ Y1663041 A1 A40 V65 ^webhook urt' =>enve kev:"TUNNEL HOST'?SELECT * FROMautomated-neport.nesulieWeer t-.4-t94-0et5151=m0te© InitialFrontendState.phpC) Jiminnv.ohoc) Plan.oho© Serializer.phpC)TeamScimDetails.ono› M bootstranM buildiv M contialM laravoltphp activity-providers.phpphp app.phpphp auth.phpphp aws.phpphp broadcasting.phpphp Cache.phpphp cashier.phppnp clouarront-proxies.ongpnp complle.onppnp connect-providers.ongpnp cors.onophp database.ppphp [EMAIL] debuabar.phpphp emails-import-filters.phpphp es-mappina-settinas.ohpphp timoed.onophp1llesvstems.onophp fractal.ohophp hashids.ohpphp hashina.ohophp imade.ohopho intearation-ann.nhnpho liminny nhnpho land nhn'outlook_url' => env( key: "OUTLOOK_URL')'chrome_ext_id' => env( key: 'CHROME_WEB_STORE_EXT_ID'),666 vselect * from text_relays where created_at >'2026-01-01'3and 1d IN (32415. 3241691#and id = 32412:669'client_data_cloud_front_key_pair_id' => env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_KEY_PAIR_ID')'client_data_cloud_front_private_key' => env( key: 'S3_CLIENT_DATA_CLOUD_FRONT_PRIVATE_KEY')'intercom_secret' => env( key: 'INTERCOM_SECRET')'intercom app id' => env( key: 'INTERCOM APP ID').'Logrocket conference id' => env( key: 'LOGROCKET CONFERENCE ID').'logrocket app id' => env( key: 'LOGROCKET APP ID')676'google_text_user' => env( key: 'GO0GLE_TEXT_RELAY_MAILBOX') . '@' . env( key: 'GOOGLE_TEXT_RELAY_HOS 679gooqle text nost = env key: "GUUbLE TEXI RELAY HUSI').680'google_text_relay_topic' => env( key: 'GOOGLE_TEXT_RELAY_TOPIC'),aooqle text relav subscription'=> envc key:'GOOGLE TEXT RELAY SUBSCRIPTION')682scheduler Lo0' => envc kev: "SCHEDULER LOG".default: (DTRECTORY SEPARATOR === '||') ≥ 'NUL' : */devi684685'silence_fill' => env( key: 'SILENCE_FILL' ,detault:'0')687'video_scale_flags' => env( key: "VIDEO_SCALE_FLAGS",detault: "Lanczos")"video 1ibx264 tunel => envdkev: "VIDE0 LIBX264 TUNEI.default: 'animation')'video_encoder' => env( key: 'VIDE0_ENCODER', default: 'Libx264').laudio encoden!= envd key: "AUDTO ENCODERI.default: "Libfdk aac')'browserstack_usennanme' => env( key: 'BROWSERSTACK_USERNAME') .'browserstack access_key' => env( key: 'BROWSERSTACK_ACCESS_KEY').'browserstack server' => env( key: 'BROWSERSTACK_SERVER').695692'mailtrap inbox id' => env( key: 'MAILTRAP INBOX ID').'mailtrap api token' => env( key: 'MAILTRAP API TOKEN').'mailtrap api' => env( key: 'MAILTRAP API').690700701'transcription' => ['minimum_track lenath' => 30705'assembly-ai' => ['base url' => env( key: 'TRANSCRIPTION_ PROVIDER_ASSEMBLYAT _BASEURL')'bearer token' => env( kev: 'TRANSCRIPTTON PROVIDER ASSEMBLYAT TOKEN')select * from users where team_id = 2 and email like '%scott%' and id = 29510;SELECT * FROM activities WHERE uuid_to_bin('67cebfc2-ed56-44a2-8c68-7a0286ed8618') = uuid; # 79763436SELECT email_provider_id, COUNT(*) as count, GROUP_CONCAT(id) as ids, GROUP_CONCAT(status) as statusesFROM text_relaysWHERE email_provider_id IN ('19e2027868a64b42',119e2033ed8ea6h10')GROUP BY email_provider_id;SELECT id, status, telephony_provider_id, created_atSpnM activitiodWHERE id IN (80028719, 80028846):SELECT id, status, code, email sent at, created at, updated atFROM text relaysWHERE id IN (32415, 32416):SELECT id,status,code, sender, recipient, created atFROM text relaysWHERE sender LIKE '%mario.georgiev%' OR sender LIKE '%stoyan.tomov%'ORDER BY created at DESCLIMIT 10:SELECT id, uuid, status, code, sender, recipient, created_at, updated_atFROM text relavsWHERE vuid = uuid to bin( 0626141c-2126-4d8c-aff8-7c8020a2c656'0:[PASSWORD_DOTS]SELECT DISTINCT U.id, u.email, u.name, u.softphone_number, COUNT(a.id) as sms_countEROM usens ulINNER JOIN activities a 1<->1.n: ON u.id = a.user_icWHERE A.tvne LTKEAND a.created_at › DATE_SUB(NOW(), INTERVAL 30 DAY)cpnlp Ry u id u email u namo u coftnhono numhenORDER BY sms_count DESCselect * from teams where id = 1;colort + fnom nolec.• lue 1y May 10.40.31AskJiminnyReportActivityServiceTest -CascadeFix AutomatedReportsCascadeText Relay Email Rout+0 ..Step 3: TextRelavService:svnc( Processes Emaila ohopubic function synco: void$service = $this->getService(config('jiminny-google_text_user'));Shistory = sservice-susers history->uist(Smailbox):Toreach Shistorv=>qethistory as Shistorvkecordforeach ($historyRecord->getMessagesAdded(as $messageAdded) {Smessagerd = SmessageAdded→>getmessage()→gectd0);// NEW FTLTERTNG - Check if email is for current environmentif (!Sthis->isForCurrentEnvironment($service, Smailbox, Smessageid, SexpectedRecipient)) {continue, l/ Skip it not тor chis environmenycreate or update text relay record$textRelay = TextRelay::update0rCreate(= Smessageld,status' = TextRelay:: STATUS PENDINGdispatch(new tma1llexcrelay(smessagela, Stextrelay));Step 4: EmailTextRelav Job Processes the ReolvSmecsade = Sthis-saetMeccade(smailService, Sthis-smessaaeTd)•Sheaders = Sthis->getHeaders($payload->getHeaders()): // To, From, Date16. Eytract Renlv Teyt.D phpSemail = (new EmailParser())->parse($body):= Semai->qetVisibleTexto: // Theuser's reply messageAsk anvthina (884-L)« Code SWF-1.6* Reiect alliiAccent alliRO-AIPo. 4 spac...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58915
|
NULL
|
0
|
2026-05-19T13:48:43.712108+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779198523712_m1.jpg...
|
Slack
|
James Graham (DM) - Jiminny Inc - 4 new items - Sl James Graham (DM) - Jiminny Inc - 4 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.51180553,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"bounds":{"left":0.50625,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"bounds":{"left":0.5138889,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.50625,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-7728254436789182889
|
1084668380251765430
|
idle
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
SlackFileEditViewGoHistoryWindowHelpAPPDOCKERO ₴1DEV (docker)₴82APP (-zsl(use "git restore<file>..."to discard changesin working directory)modified:env.localmodified:app/Console/Commands/JiminnyDebugCommand.phpmodified:config/logging.phpUntracked files:Cuse "git add ‹file›..."to include in what will be committed).env.nikilocal.env.otherWEBHOOK_FILTERING_IMPLEMENTATION.mdapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.phpapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.phpids.txtpublic/favicon.icoraw_sql_query.sqltests/Unit/Policies/CanAccessAiReportsTest.phpno changes added to commit (use "gitadd"and/or "git commit -a")lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pullremote: Enumerating objects: 63, done.remote: Counting objects: 100% (63/63), done.remote: Compressing objects: 100% (17/17),remote: Total 63 (delta 46), reused 63 (delta 46), pack-reused 0 (from 0)Unpacking objects: 100% (63/63), 6.51 KiB | 77.00 KiB/s, done.From github.com:jiminny/app16fa95720c..045ab2e1748a03ca9e03..84e7b10765JY-20842-remove-elastic-search-delete-documentsJY-20943-fix-calendar-events->origin/JY-2(->origin/JY-20Updating 5604af40cf..177ea29b8dFast-forwardapp/Component/ES/ElasticSearchDocumentPartialUpdater.phpapp/Component/ParticipantSpeech/Services/ParticipantAttributionService.phpapp/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.phpapp/Component/Transcription/Service/StorageService.phpfront-end/package.jsonfront-end/yarn.lockroutes/api.phptests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phptests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.phptests/Unit/Component/Transcription/Service/StorageServiceTest.php48420828742862910 files changed, 82 insertions(+), 172 deletions(-)delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.phpdelete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20915-add-doma*Switched to a new branch 'JY-20915-add-domain-specific-email-text-relay'lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-emaHomeDMsActivityFilesLater.••MoreED• →Jiminny ...# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of_jimi...Direct messages2 James Graham&. Stefka StoyanovaRo Nikolay Yankov. Galya Dimitrova€. Vasil Vasileve. Aneliya Angelova. Stoyan TomovSo Todor Stamatov "M. Mario Georgiev. Nikolay Ivanov8 Stoyan TanevE Lukas Kovalik y...::: Appsi Jira CloudToastlhl100% (8•Tue 19 May 16:48:43QDescribe what you are looking forJames Graham6 0MessagesC Files+yes, work'Wednesday, May 13th ~thanks a lotenjoy the vacationJames Graham 11:31 AMCheers!Today ~James Graham 4:48 PMhttps://jiminny.atlassian.net/browse/JY-20915heya, for this ticket, which DNS changes do youhave in mind?Jira Cloud -YA Add environment-specific email doma...Bug JY-20915 in Jira CloudStatusBacklogPriority= MediumAssigneeUnassignedAs of today at 4:48 PMOpen in Jirait SummariseWe have no MX records set on .eu as far as I know,but even if I add them that is half the storyhey, well maybe we can go through the smae domainJames Graham is typing...
|
NULL
|
NULL
|
NULL
|
NULL
|