|
Project: faVsco.js, menu
Firefox FileEditViewHisto Project: faVsco.js, menu
Firefox FileEditViewHistoryBookmarksProfilesToolsWindowHelpDEV (docker)• жзDOCKERO 81DEV (docker)882APP (-zsh)masterJY-20818-move-AJ-reports-to-separated-datadog-metricJY-20773-fix-automated-reports-user-pilot-trackingJY-20157-AJ-report-not-send-notificationJY-20508-notify-before-AJ-report-expirationJY-20372-ai-reports-promotion-pagesJY-20352-sync-opportunities-without-a-local-owner-user-id-is-nullJY-20738-debug-AJ-tracking-UPJY-18909-automated-reports-ask-jiminnyJY-20692-fix-integration-app-[API_KEY] laysJY-20698-fix-SF-activity-types-on-new-playbookJY-20543-AJ-report-trackingJY-20384-handle-auto-sync-with-no-access-to-event-typeJY-20458-ask-Jiminny-user-definitionsJY-19666-fix-import-contacts-account-associationJY-19666-HS-import-contacts-and-accounts-batch-jobJY-20458-Ask-Jiminny-ReportsJY-20200-batch-update-CRM-objects-SalesforceJY-19666-HS-webhooks-add-contact-and-companyJY-20348-trigger-setup-DI-layout-on-team-creationJY-20326-refactor-info-message-in-commandJY-20317-fix-auto-log-delay-issue-on-all-channels-disabledJY-20312-remove-on-update-change-last-synced-at-crm-configurationsJY-20306-SF-skip-auto-sync-for-task-based-playbookJY-20192-remove-deleted-team-from-saved-search-filtersJY-20197-import-opportunity-batch-jobJY-20293-enable-status-field-for-pipedrive-dealsJY-20191-remove-commands-interactive-promptsJY-20118-change-default-sync-strategyJY-20183-add-cache-on-auto-log-delayJY-20197-add-import-opportunity-batch-job20118-hs-opportunity-make-webhook-strategy-defaultJY-20118-make-default-hs-opportunity-sync-strategy-webhook-basedJY-20196-handle-opportunity-without-noteJY-20118-improve-opportunity-importJY-20189-handle-activity-search-on-deleted-groupsJY-20160JY-20145-filter-out-converted-leads-when-matchingJY-20150-skip-push-summary-on-summary-ready-1f-autologJY-20132-fix-note-encodingJY-19792-clean-logslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ devroot@docker_lamp_1:/home/jiminny# ]-zshSupport Daily - in 4h 11 m84-zsh885100% C8• Mon 11 May 10:49:52181screenpipe"0 ₴6DEV...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
NULL
|
16001
|
|
Project: faVsco.js, menu
FirefoxFileProfiles(alo)D Project: faVsco.js, menu
FirefoxFileProfiles(alo)Daily - Platform • now100% <78• Mon 11 May 9:47:17EditViewHistoryBookmarks→ToolsWindowHelpmeet.google.com/mie-gawc-dsi?authuser=[EMAIL] Yankov (Presenting)99SPlatform Team %.Q Search boardA.J Panorama for CallScoring n oo(AUTOMATED AT SGORINGHewdyODVP Jy-20301sesup test corcrore torProphet in SonarMASNTENANGISBacklogE 3-109511****=9:47 AM | Daily - Platform52 Serv Pа|uPa x83 Jm xE3 Pro xO AM XCa cal xDAn x (Ta x8*0.6000J x |*Ca x 0Jm x8• Mon 11 May 9:4783 мC x0ут xIO 300[URL_WITH_CREDENTIALS] QAKi Improve Technical Story~ DetailsAssigneeNikolay IvanovAssign to meKUDort8 Vasil VasievDevelopmentQ Open with VS Code1 branch22 commits1 pull request2 bulldsComponentsPlatformAdd optionsLabels0 Der3 days agoGroup: QueriesAl Reports > Empty pagedesign and promotionAJREPORTSDeployed0 -20372 1 2 •***=SrOK a ALUICД-20726 1 0 0060=Allow users to delete SSand Panorama promptswhen those are used in a...AJREPORTSDeployedRelease AJ PanoramaAJREPORTSД -20700 05 12 •00:summary in the CRM...Stefka StoyanovaNikolay Yankov4 othersAneliya AngelovaLukas Kovalik...
|
PhpStorm
|
faVsco.js – custom.log
|
NULL
|
15383
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
+FirefoxEditProfilesDaily - Platform - now100% L2Mon 11 May 9:51:15$FileViewHistoryBookmarksToolsWindowHelpmeet.google.com/mie-gawc-dsi?authuser=[EMAIL] Yankov (Presenting)Mon 11 May 9:51C Jy 20451 Servic83 Jmier83 PromsO Attent0 Cats -0 AtenCa Transp* MCPI• appіdhttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-20625D Projects8E Datadog* Claude3 CircieCiSentry*xIInsights & Coachin…0 Der0 uxL Al BookmarxsPlatform Team %.Q Search boardSY-20739 / Q JY-20625Group: Queries[POC)Jiminny MCP ConnectorIn ProgressIx Improve SpikeAJ Panorama for CallScoring n 0oCAUTOMATED AI SGORENGKesoy TorDoyQ Jy-20361Setup test coverage forProoorioherMASNTENANCSBackdog# 3-19951DescriptionCustomers are starting to use AI tool (like Claude and GPT) to connect the information from all f their platform into oneplace. Which they then uze to interrogate and perform different analysis on their data. We want to create a Jiminny MCPwhich will enable them to connect their Jiminny data to Claude/GPT.• create a POC to demonstrate the approach• determine form where the data needs to be fetched - long term we want to fetch everything from Elastic Search but inorder to refease it faster we can consider a temporary mixed approach with the DBAI Reports > Empty pageDetailsdesign and promobonAJREPORTSAssigneeDeployed• Nikolay Nkolow8 20572111 0000=Assign to meGrCK Và AZUICReporter2 Galya DimitrovaVEUTCU• Getermine what tre aucrcriacaton necos to de (kcep in moo teout emientlaro nthe approderatnongo snoord oe contried wan surtkd ane tirye• product requirements - E Jiminny MCP ConnectorDevelopmentQ Open with VS CodeJ Create branch61 commits1 pull request1 build incomplete-20726 1 0 •***=4 days agcorthAllow users to deiete SSand Panorama promptswhen those are used in a…..AКРОКISDeployed0 -20770 10 9000 -ComponentsPlatform••+33% DoneRelease AJ PanoramaWOrKIPriortyJory YudASS/OusSub-ProductAdd optionsAJREPORTSDeployedR-20740 05 1) •000:auy U/s. Ciederoe= м.IN DEVELabels% JY-20743ChahWre"tools/listResearch Competitor's MCP.= м.•N...story pont estmatWrong formatting forsummary in the CRMNikolay IvanovSteliyan Georgiev9Nikolay Yankoy4 others9:51 AM | Daily - PlatformLukas Kovalik2:49...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
15451
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
+FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelpDaily - Platform - now100% 12Mon 11 May 9:51:30meet.google.com/mie-gawc-dsi?authuser=[EMAIL] Yankov (Presenting)*0.Mon 11 May 9:51O Attent0 Cals -AtsentiCa TranspJmine* MCPI• эррібкE Datadog* Claude3 CircleciSentry*xIL tasкInsights & Coachin…0 DerL Al Bockmarxs9Nikolay NikolovNikolay YankovPlatform Team %.Q Search boardAJ Panorama for CallScoring nn 0o(AUTOMATED AT SCOREKewdyorDy( Jy-20301Setup test coverage forProonorocherMASNTENANCESBacklogE 3-10951C Jy 20451 Servic83 Jmier8 Promohttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-20625E SSH06sY-20739 / Q JY-20625[POC)Jiminny MCP ConnectorDescriptionCustomers are starting to use AI tool (like Claude and GPT) to connect the information from all f their platform into oneplace. Which they then use to interrogate and perform different analysis on their data. We want to create a Jiminny MCPwhich will enable them to connect their Jiminny data to Claude/GPT.• create a POC to demonstrate the approach• determine form where the data needs to be fetched - long term we want to fetch everything from Elastic Search but inorder to release it faster we can consider a temporary mixed approach with the DB• Gctermine what tre auceracaton necos to de lxcep in moo teout cmeriaro nthe epprosertnongo snord be contamed wan surtkd ane warye• product requirements - E Jiminny MCP Connector••+33% DoneWOTKPriortyASSIOusouy0/s. Ciedeyoe= м.IN DEV -%JY-20743tools/listResearch Competitor's MCP= M.N...In Progress -DetailsAssignee• Nikolay NkolowAssign to meReporterI Galya DimitrovaDevelopmentQ Open with VS CodeJ Create branch61 commits1 pull request1 build incompleteComponentsPlatformSub-ProductAdd optionsLabelsstory pont estmatIx Improve Spike4 days agoorth9:51 AM | Daily - PlatformAI Reports > Empty pagedesign and promotonAJREPORTSDeployed8 20372 10 0000 =JrOK Và ALUIC-20728 |1 • •***=Allow users to delete SSand Panorama promptsAJREPORTSDeployedRelease AJ PanoramaAJREPORTSDeployedR-20740 05 12 ..0•=summary in the CRM...4 othersSteliyan GeorgievLukas Kovalik3:04...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
15456
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
=+SlackFileEditViewGoHistoryWindowHelp→ws.planhat.com/jiminny/home/data-explorer/usageJiminnySearch JiminnyContent Explorer7 Metric |Datasetautomated-reports-traEnd UserData ExplorerQ autactivities.automated-reports-CalendarNotificationsNameOverviewRaw DataTral*• Morev EndUser 1Metricsautomated-reports-track-Sections +CS Day-to-day32 Getting started GuideJust CS Data* Daily Operations05 May06 May07• Weekly prep© Renewals and Upsell:= € Risk and Churn An...Implementation -Impl ProjectsTrial Opps (Under Rev...Stoyan's clientsCommentsAdd a commentHomeDMsActivityFilesLater..•More(aolSupport Daily • in 3 h 38 m100% C73• Tue 12 May 11:22:09→Describe what you are looking forJiminny ...& platform-inner-teamChannels# 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 jimi...0 Direct messagesPetko KashinskiR. Steliyan Georgiev%. Galya Dimitrovae. Aneliya Angelova&. Stefka Stoyanova€. Vasil Vasilev. Nikolay IvanovSteliyan Georgiev6 0• Messagest Add canvasO Files+AutomaTodayPreview in wawnStatusBacklogPriority= MediumAssigneeUnassignedAs of today at 10:46 AM RefreshOpen in JiraSummariseпроблем беше че няма pdf_url сега ще серазровя за конкретен репорти идеята е на РНР да не го пробваме през час ноГаля попита за регенериранепредполагам че е нещо случайно най-вероятносамо един репортза бъдеще може да в самия пропхет има липроверка дали има всичко преди да върнеresponse, или пак от РНР да се провери предипращане и да се пусне отновоSteliyan Georgiev 10:51 AMможе да направя профет ако няма pdf_url, даврьща грешка за пхп?Lukas Kovalik 10:51 AMпо-скоро да се регенерираMessage Steliyan Georgiev+...
|
PhpStorm
|
faVsco.js – console [PROD]
|
NULL
|
23665
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
=+SlackFileEditViewGoHistoryWindowHelp→ws.planhat.com/jiminny/home/data-explorer/usageJiminnySearch JiminnyContent Explorer7 Metric |Datasetautomated-reports-traEnd UserData ExplorerQ autactivities.automated-reports-CalendarNotificationsNameOverviewRaw DataTral*• Morev EndUser 1Metricsautomated-reports-track-Sections +CS Day-to-day32 Getting started GuideJust CS Data* Daily Operations05 May06 May07• Weekly prep© Renewals and Upsell:= € Risk and Churn An...Implementation -Impl ProjectsTrial Opps (Under Rev...Stoyan's clientsCommentsAdd a commentHomeDMsActivityFilesLater..•More(aol• Support Daily • in 3 h 40 m100% C73• Tue 12 May 11:20:30→Describe what you are looking forJiminny ...& platform-inner-teamChannels# 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 jimi..0 Direct messagesPetko KashinskiR. Steliyan Georgiev%. Galya Dimitrovae. Aneliya Angelova&. Stefka Stoyanova€. Vasil Vasilev. Nikolay IvanovSteliyan Georgiev6 0• MessagesAdd canvasO Files+AutomaTodayPreview in wawnStatusBacklogPriority= MediumAssigneeUnassignedAs of today at 10:46 AM RefreshOpen in JiraSummariseпроблем беше че няма pdf_url сега ще серазровя за конкретен репорти идеята е на РНР да не го пробваме през час ноГаля попита за регенериранепредполагам че е нещо случайно най-вероятносамо един репортза бъдеще може да в самия пропхет има липроверка дали има всичко преди да върнеresponse, или пак от РНР да се провери предипращане и да се пусне отновоSteliyan Georgiev 10:51 AMможе да направя профет ако няма pdf_url, даврьща грешка за пхп?Lukas Kovalik 10:51 AMпо-скоро да се регенерираMessage Steliyan Georgiev+...
|
PhpStorm
|
faVsco.js – PlanhatService.php
|
NULL
|
23638
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
Firefox FileEditViewHistoryBookmarksProfilesToolsWindowHelp<DEV (docker)• жзSupport Daily - in 4h 54 mDOCKERO 81DEV (docker)882APP (-zsh)masterJY-20818-move-AJ-reports-to-separated-datadog-metricJY-20773-fix-automated-reports-user-pilot-trackingJY-20157-AJ-report-not-send-notificationJY-20508-notify-before-AJ-report-expirationJY-20372-ai-reports-promotion-pagesJY-20352-sync-opportunities-without-a-local-owner-user-id-is-nullJY-20738-debug-AJ-tracking-UPJY-18909-automated-reports-ask-jiminnyJY-20692-fix-integration-app-[API_KEY] laysJY-20698-fix-SF-activity-types-on-new-playbookJY-20543-AJ-report-trackingJY-20384-handle-auto-sync-with-no-access-to-event-typeJY-20458-ask-Jiminny-user-definitionsJY-19666-fix-import-contacts-account-associationJY-19666-HS-import-contacts-and-accounts-batch-jobJY-20458-Ask-Jiminny-ReportsJY-20200-batch-update-CRM-objects-SalesforceJY-19666-HS-webhooks-add-contact-and-companyJY-20348-trigger-setup-DI-layout-on-team-creationJY-20326-refactor-info-message-in-commandJY-20317-fix-auto-log-delay-issue-on-all-channels-disabledJY-20312-remove-on-update-change-last-synced-at-crm-configurationsJY-20306-SF-skip-auto-sync-for-task-based-playbookJY-20192-remove-deleted-team-from-saved-search-filtersJY-20197-import-opportunity-batch-jobJY-20293-enable-status-field-for-pipedrive-dealsJY-20191-remove-commands-interactive-promptsJY-20118-change-default-sync-strategyJY-20183-add-cache-on-auto-log-delayJY-20197-add-import-opportunity-batch-job20118-hs-opportunity-make-webhook-strategy-defaultJY-20118-make-default-hs-opportunity-sync-strategy-webhook-basedJY-20196-handle-opportunity-without-noteJY-20118-improve-opportunity-importJY-20189-handle-activity-search-on-deleted-groupsJY-20160JY-20145-filter-out-converted-leads-when-matchingJY-20150-skip-push-summary-on-summary-ready-1f-autologJY-20132-fix-note-encodingJY-19792-clean-logslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ devroot@docker_lamp_1:/home/jiminny# ]-zsh84-zsh885100% C8• Mon 11 May 10:06:14181screenpipe"0 ₴6DEV...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
15640
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
Firefox FileEditViewHistoryBookmarksProfilesToolsWindowHelpDOCKER₴1DEV (docker)882APP (-zsh)DEV (d• жзmasterJY-20818-move-AJ-reports-to-separated-datadog-metricJY-20773-fix-automated-reports-user-pilot-trackingJY-20157-AJ-report-not-send-notificationJY-20508-notify-before-AJ-report-expirationJY-20372-ai-reports-promotion-pagesJY-20352-sync-opportunities-without-a-local-owner-user-id-is-nullJY-20738-debug-AJ-tracking-UPJY-18909-automated-reports-ask-jiminnyJY-20692-fix-integration-app-[API_KEY]@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-Lirroot@docker_lamp_1:/home/jiminny# ]HomeDMsActivityFilesLater..•MoreallSupport Daily - in 3h 9m100% <78• Mon 11 May 11:51:04ED→Describe what you are looking forJiminny ...Stefka Stoyanova6 0Cnsmechuus# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of_jimi...7 Untitled+0 Direct messagesa. Stefka Stoyanova€. Vasil VasilevNikolay Ivanov®. Galya DimitrovaAneliya Angelova, .... Stoyan TanevVes®. Aneliya Angelova& James GrahamE Lukas Kovalik y...:: AppsJira Cloud• MessagesC Files@ UntitledLukas KovalK k-44 PMблагодаряTuesday, April 28th~Today ~Stefka Stoyanova 10:08 AMЛукаш, щом пре-рефайнмънта и рефайнмьнтаще са само за МСР ако искаш не идвай да сигубиш времетоLukas Kovalik 10:12 AMда, няма да идвамStefka Stoyanova 11:35 AMЛукаш, ще сложиш ли естимейт наhttps://jiminny.atlassian.net/browse/JY-20818Jira Cloud -Move Ask Jiminny reports to separate...Bug JY-20818 in Jira CloudStatusDeployedPriority= MediumAssigneeLukas Koval...As of today at 11:35 AMOpen in JiraSummariseLToastMessage Stefka StoyanovaGoogle Cale.........
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
NULL
|
16428
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormFV faVsco.jsINavicareCode%9 JY-20725-handle-HS-search-rate-limit-KeractorroledeyA SF (jiminny@localhost]A HS_local (jiminny@localhost]# console [PRol)# console [eu)© BatchSyncCollectore balchsynckealsseOhuospot/service.pnp$ SyncCrmEntitiesTrait.php© CachedCrmServiceDecorator.phpA console [STAGING)o closedDealstagessС CheскAnaкetrykemotematch.pnpDealrielasservice.gc)Decorateacuivilv.or© FieldDefinitions.php© PaginationState.phpC) MatchCrmData.phpC) CrmObiectsResolver.pho(C) ProviderRateLimiter.php© PaginationConfig.phpC) FieldT vpeconverteclass Cuient extends Baseclient imolements Hubspotc ientinterfacee Hubspotclientinterpublic function parseRetryAfter(Throwable $e): intc) Hubspotlokenman© PayloadBuilder.php159return 10;160C) Remotecrmobiectn© ResponseNormalizeno usagesc) Service,ono© SyncFieldAction.ph© SyncRelatedActivit) 164 CpubLlc Tunccion cecMinimumapiversion. scrinoC) WebhookSvncBatclv O IntegrationApp166return selt::"In APl VERSLUN> O Accessors17131/14171542 467 M3 A V1/161717ConfigODTOFiltersD JobsDProspectSearchStraW service lralts© DataClient.php168169 CTpublic tunction getinstance: ractoryreturn new FactoryC'oauth?''base url' => Sthis->baseUrl.171917281721HIIm17221723=172417251726E1727—1728- 1729I 1WNI TIE- 1730[2026-05-11 11:20:43] Local. ERROR: Failed to refresh HubSpot token {"account_id":1372, "updated_i vWIOZAY[2026-05-11 11:20:43] Local.NOTICE: Repairing HubSpot tokens end f"total":3, "fixed":0, "failed":3} f"correlation[2026-05-11 11:20:48] Local. INFO: Jiminny|Console\Commands\Command: :run Memory usage before starting command {[2026-05-11 11:20:48] Local. INFO: Jiminny|Console\Commands\Command: :run Memory usage before starting command f"12020-05-11 11.20.48 LocaL.LNFU. LHUDspor Journal commana scaruing polling service1"correlac1on10: Y54015[2026-05-11 11:20:48] Local. INFO: [HubSpot Journal Polling] Service starting ("memory_Limit":"256M", "max_execut2020-05-11 11:20:48 Local. LNFU:Hubspor Journal Polling Acqulred polling lock ""explres ac": 2020-05-11115[2026-05-11 11:20:48] Local. INF0:12026-05-11 11:20.48 LocaL.LNFU:Jaminny console commanos Lorremory usage tor commano ""commano":"7[2026-05-11 11:20:49] Local.INFO:2826-05-11 11:20:49 Local.INF0:HubSpot Journal Auth Successfully obtained new access token «"expires_1n":[2026-05-11 11:20:49] Local. INFO: [HubSpot Journal Polling] No data2826-05-11 11:20:53 Local.INF0:Memory usage before starting command[2026-05-11 11:20:53] Local. INFO: Jiminny\Console\Commands\Command: :run Memory usage for command ("command" :"crLocaL.INFo: HuoSoot Journal Pollinal No datal[2026-05-11 11:20:56]local. INFO: Jiminny\Console\Commands\Command: :run Memory usage before starting command {"[2026-05-11 11:20:57] local.INF0: Jiminny Console\Commands\Command::run Memory usage for command {"command": "cr2026-05-11 11:20:591 Loc0lINF0: HubSoot Journal Pollinal No data"correlation 1d"."954d156d-8a4f-4592-a046Console xLog xChanaes 12 tille:* → E, Side-by-side viewer ~Do not ignoreHighight words - X 13 1 ?8 35f036ac app/Services/Crm/Hubspot/Client.phg* @phpstan-type CrmFieldOption arrayfid:string, label:string, value?:string}© HandleHubspotRateLimit.php app/Jobs/Middleware(c) HandleHlubsootRateLimitTest.oho tests/Unit/.lobs/Middleware® HubspotClienttnterface.php app/Services/Crm/HubspotC) HubsnotPaainationService.ohn aon/Services/Crm/Hubsoot/Paaination© JiminnyDebugCommand.php app/Console/Commandsphe logging.php config©MatchActivityCrmData.php app/Jobs/Crm© PaginationState.php app/Services/Crm/Hubspot/Pagination© RateLimitException.php app/ExceptionsC RateLimitExceptionTest.php tests/Unit/ExceptionsUnversioned Files 9 filesE.env.nikilocal app= .env.other app© CanAccessAiReportsTest.php tests/Unit/Policies© CreateMockAskJiminnyReportResultCommand.php app/Console/Commands/Rer6 favicon.ico publicl= los.xi apnTeraw_sql_query.sql app(C) SimulateWebhooksCommand,oho apo/Console/Commands/Crm/HubspotM+ WEBHOOK FILTERING IMPLEMENTATION.md aDDSthis->setBaseUrl(self::BASE_URL):Sthis->setVersion/self.MTN APT VERSTON):public function getMinimumApiVersion(): string»return self::MIN_API_VERSION;liacllalawmwweetialallleWolelloalelotsllnoeltSlastRecordId* @throws DealApiException* ochrows urmexcentzon$0Preparation Tor kell.. In 20 m100% 28• Mon 11 May 14:32:05U HandleHubspotRateLimitTestHubspot Rate Limit Re+0 ..3. Middleware behavior is healthyvSample line:[HandLeHubspotRateLimit) Rate limit caught, releasing job with delay ("attempts":1, "retry_after";1, "dr•delay=5 is retry after (1) + jitter (random 0-S) = within [1, 61• Other releases in the log show delay: 4, 5 etc. - jitter is varying as expected• All attempts:1 - no jobs reached 2+ retries, meaning subsequent attempts after release succeeded on the next pass4. No anti-patterns triggered V• Zero Failed to match CRM data lines = the instanceof RateLimitException filter in MatchActivityCrmData::handl• Zero permanently failed lines = no job hit retryUntil - everything completed within window• Zero using default warnings = parseRetryAfter always extracted a known keyword from the messageWhat this means for productionEytranolatina to the 100k cconario.Result43% of rate-limits served from cache (3/7) — and that's at LOW load. At storm scale, this raticsed 92% of your quota. Quota resets May 12, 11:00 AM GMT+3.Ask anytning (dtl<> CodeClaude Opus 4.7 Medium5 differencesif istr contains(Smessade. "ten secondi.y'))return 10;if (str_contains($message, 'secondly')) {return 1$this->log->warning('[Hubspot] No retry-after header or known message, using default', ['exception_class' => get_class($e),'message' => $message,return 10;public function getMinimumApiVersion(): stringWN Windsurf Teams162:5 UTF-8f 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
18529
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormFV faVsco.js~ProjectVIewINavicareCode%9 JY-20725-handle-HS-search-rate-limit© RemoteCrmObjectn© ResponseNormalizeg service.onpg) syncrielaaction.onC) synckelatedAcuivicc) wednooksynebalcIntegrationApp› D Accessors896C Apiw conticDDTOW FiltersHoosProsoectSearchstr• ServiceTraitsC) DataClient. oho©DecorateActivity.pt904 CC) LocalSearch.ohv© LocalSearchinterfac© RemoteSearch.php907© Service.phpv D Listeners© ConvertLeadActivit© PurgeLookupCache>D Metadata>D Migration> D Pipedrive© HubspotSyncStrategyBase.php© SyncRelatedActivityManager.phpCachedcrmservicebecorator.onp© ProspectCache.php© MatchacuivitycrmData.ong© CrmActivityService.phpclass Service extends BaseService 1mplements* dreturn nulularrousLead|null,Accountlnulz.Opportunity|null,Contactlnul.Stage|nult,string|nullC | A7 A48 X1 X33 21 Apublic function matchByDomain(string $domain, ?int $userId = null): ?array$companyName = $domain;// Try to find a company matching their email domain.ScompanyProperties = [country"phone',"name""hs_avatar_filemanager_key'"industry',Console xLog XChanaes 12 filed= env.local aon* → E, Side-by-side viewer ~8 35f036ac app/Services/Crm/Hubspot/Client.phgDo not ignoreHighight words -X 1 ?© HandleHubspotRateLimit.php app/Jobs/Middleware® HubspotClientinterface.php app/Services/Crm/Hubspot© HubspotPaginationService.php app/Services/Crm/Hubspot/Pagination©JiminnyDebugCommand.php app/Console/Commandsphe logging.php config©MatchActivityCrmData.php app/Jobs/CrmKI© MatchCrmData.php app/Jobs/Activity/Import© PaginationState.php app/Services/Crm/Hubspot/Pagination© RateLimitException.php app/Exceptions© Service.php app/Services/Crm/Hubspot~ Unversioned Files 9 files= env.nikilocal apo= envother app© CanAccessAiReportsTest.php tests/Unit/Policies© CreateMockAskJiminnyReportResultCommand.php app/Console/Commands/Repki tavicon.ico public= ids.txt appiaraw sol querv sall aool© SimulateWebhooksCommand.php app/Console/Commands/Crm/Hubspot* Othrows BadRequestpublic function isUnauthorizedException(\Exception $e): bool// Check for specific HubSpot API exception types firstif (Se instanceof BadRequest) {rerurn se->qerlode) === 4015if (Se instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) €= Se->qetResponseO:1f Sresielper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (8 minutes ago)$0lohlDally - Platrorm • In z5mU AskJiminnyReportActivityServiceTest~100% L2&• Mon 11 May 9:16:12D Đ :E custom.log xE laravel.log# console [PKob.A console (EU]A SF jiminny@localhost]A console (STAGING]A HS_Jocal (jiminny@localhost]accept-encoding"],W19лV"access-control-allow-credentials": ["false"],"server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3)",cfr;desc=\"9f80deb8e7c6dc3a-IAD)""],"x-content-type-options": ["nosniff"],"x-hubspot-correlation-id" : ["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookie":["_cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],"керогс-10":"1endpolnts"CascadeO HubSpot Pagination+0 ..-C /Users/lukas/jiminny/app diff HEAD~1 HEAD -app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php• git -C /Users/lukas/jiminny/app Log —-oneline -20 2>&1"url":nccos:a.nel.cloudtlare.comredorcV4.S=NYALSVIPorymszorSUnxY24S0ZKh"max_age\":6048005"J,"NEL": ["{"success fraction":0.01.Command git, heado git -5 /Users/lukas/jiminny/app log -oneline -all -- app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php 2>&1 |"max ade".604800-""Server": ["cloudflare"]f}{"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab" ,"trace id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}Run sewAsk anything (2AL)+ <> CodeSAdaptive• 014 differencesreturn Sresponse;* @throws BadRequestpublic function isUnauthorizedException(\Exception $e): boolif ($e instanceof BadRequestIl $e instanceof DealApiExceptionII Se instanceof ContactApiExceptionse instanceot companuapzexceptzonreturn (int) $e->getCode() === 401;if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) €returnse->detResnonseOr->cetStatuslode Orezz 401%W Windsurf Teams 910:23UTF-8f?4 spaces...
|
PhpStorm
|
faVsco.js – Hubspot/Service.php
|
NULL
|
15094
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormINavicareCodeFV faVsco.jsroledey© TrackRecordingFileSiz© ProspectCache.php© TrackRecordingSizeEnT. ValidateSmitProspect:AjReports© MatchactivityermData.png* RateLimitexC) HandlerubspotkateLimit.php x0 Calendarn Conference(C) ProviderRateLimiter.phpC) PaqinationConfia.php0 Crmclass Cuient extends BasecLient imolements HubspotcuientinterfaceCA2A6 X1X3A@ bullnornJ close_copper>J Crmobiects_ DecorareAcuivily• DummyHelpersv h HubspotAccountSvncStrate> Actionsa ContactsvncStraterm Fields• Malournal1 Metadatalv OpportunitySyncSt• M Concerns.(c) Hubsnotl actMoC HubspotLastMo(C) Hubsnotl actMo(C) Hubsnotl actMo(C) Hubsnotl actMo© HubspotSingleSo UnhenotCunaCtr© HubspotWebhoov M Padination© HubspotPaginat© PaginationConfi(C) PaqinationState> D ProspectSearchStr:› D Redisv D ServiceTraitsTOnoortunitvsvnd() SvncCrmEntitiesT SuncFieldstirait.() WriteCrmTrait.ol 106• M UtilsM Webhook@ BatchSvncCollectol 1091101(c) RatchSvncRedisSerc) Client nhr(C) ClocedDea|StagocS 111@ Dea|FieldcService r 112* othrows RateLimitexceptzon1 usaaelorivate function executeReguest(callable SaoicalbiScachekev = Sthis->aetRateLimitCacheKevo:ScachedRetryAfter = Redis::get(ScacheKey):if (is_string($cachedRetryAfter) && is_numeric(ScachedRetryAfter)) {throw new RateLimitException('Hubspot rate limit (cached circuit-breaker)',int ScachedRetnvAftentryfrecurn sapllallor} catch (Throwable $e) {if (Sthis->isHubspotRateLimit(Se)) {SretryAtter = sth1s->parseretryatterseReons::setexscachekev. Sretrvarter. (strino) sretrvatter)sCascade &TlCammand 9elSthis->loo->warnina(' Hubsoot Received 429 from APT".= sthis->confio->team_1di'confia 1d'= sthis->confio->aetido.policv= Sthis->oarsePoLicv(Se).= Se->aetMessadeOlthrow new RateLimitException( message: 'Hubspot returned 429', SretryAfter, $e);throw $e;1 usageprivate function getRateLimitCacheKey: stringreturn sprintf( format: 'hubspot:ratelimit:portal:%d'. Sthis->confiq->qetIdO):olner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)"suppont Dally • In Zn 45 m100% L2• Mon 11 May 12:11:28AskJiminnyReportActivityServiceTest v+0 ..1111MI=..-31A SF (jiminny@localhost]4 HS_local [jiminny@localhost]# console [PKOb.# console [euJ# console [slAGiNg)2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Vace". "Inu,ur May 2020 14.21.19 6Ml"Jn"concenc-lyoe. apolicacion/ison.charser=utt-on"Transfer-Encoding": ["chunked"]."CF-Ray":"9t80deb8dbo0dcsa-S0F"J,"Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncludeSubDomains: preload")"access-control-allow-credentials": "false"."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfr;desc=|"9f80deb8e7c6dc3a-IAD\""],"x-content-tvoe-ootions":"nosniff"."x-hubsoot-correlation-id":"019e02d0-6fd8-7812-bdba-885b7ccb3ee3"]"Set-Cookip"." c+hm=Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Report-To":["{("endpoints)":[{("url\":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RV("group\":\"cf-nel\",("max_age\":604800}"],"NEL"L"1"success_fraction\":0.01,reportto. "cr-nel,"max agel ":604800}"].'Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sboyeab","trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545CascadeHubspot Rate Limit Re$cachedRetryAfter = Redis: :get($cacheKey);1 recurns string latse nuce1T (1s string(scachedRetryAtter) dd 1s numeric(scachedretryAtter)) ...Ked1s::setex(scacheney, srecryarter, (string) srecryarter);Single atomic Redis com.Kev implementation notes1. SETEX is atomic - sets the value and TTL in one round-trip. Cache: :put internally does this too, but adds prefix manipulation and serialization in PHP-land2. No prefix from Laravel cache confia. Your key in Redis will be exactiy hubspot:ratelimit:portal:42. not cache prefix:laravel cache:hubspot:ratelimit:portal:42 . Easier to inspect with redis-cli . Make sure no other code is using a key like that - unlikely with this namespace3. Return value handlingRedis::aet(Snonexistent) → returns null (Predis) or false (PhpRedis)• The is strina(sy) (c is numeric(sy) quard handles both cases olus malformed values cleanlv.4. Connection: uses Laravel's default Redis connection (config/database.php redis.default ). If you want to isolate this from queue/cache traffic, use Redicaoconnection("rate limitel)_soet(...) after definina a senarate connection5. Type cast (string) on store: setex requires a string value. Without the cast, PhpRedis throws a TypeError on intCache::aet/putRedis::aet/setex1combined)PHP CPU per op~50-100us (CacheManager + serialize)~10-20us (direct Redis cmd)Network bytes (value)~10 bytes (1:1:)1byte ("1")Key lengths0 chars (with orefix)lalAhoreNealigible per-call, but at 1,500 cache GETS/sec (steady state from previous trace), the savinas add up: ~50ms CPU sec freed, plus simpler Redis monitorina.SummarvSentrv imnact for 100k storm:• ~91.000 events to Sentrv all arouned under MaxAttenntcFyceededFycent ion• Will hit sentry rate-limits: events aet aropped~10% of monthlv quota on a tvnical small olan.• Recommended fix: add RateLimitException (and optionally MaxAttemptsExceededException) to the dontReport array in app/Exceptions/Handler.phpRedis swao doneCache::aet /out → Redis::aet/setex• Direct atomic no cerialization overhead• Same loqical behavior. leaner imolementation• Kev visible as olain hubsoot: ratelimit:nortal-fidl in redis-c14lot but ha liredy on e tdinto protest. OAto toew gili the changes ieers. Once the ratelimit is couaht and cache set by one, what will happen it the other still has no cache on aClient.php#L81-+ « CodeW Windsurf Toams 04-76(50 charc) UTF.8io 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
16626
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-IiyProiect v© TeardownStream.phpAiAutomationM A Renorts© HubspotSyncStrategyBase.phpAudioAutomatedReports• kequestGenerateAsk.J© RequestGenerateRepo © PaginationConfig.php© SendReportExpiringSomaxExcentionssenakeportJob.pnp© SendReportMailJob.phX P Cc W .*гI Y:class MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUniqueC) senakeponiNorgenera> [ Calendar0 Crmv _ Delere© DeleteAccount.Job.C) DeleteContactJob.rTDeleteCrmEntitviraC) DeleteleadJob.ohr© DeleteOpportunityC) VeritvActivitvermirm Hubsoot> M Salesforce(C) AutoloaDelavedToCrm(C) CheckAndRetrvRemot(C) CreateFollowuoActivit(c) CroateNotec nhnl© MatchActivitiesToNew© MatchActivityCrmData(E [EMAIL]© SaveActivity.php© SaveTranscription.php© SetupLayout.php© SyncActivity.php149) syncrielametadata.on© SyncHubspotObiects.r© SyncLeads.phpc) Syncobiects.php© SyncOpportunities.Jobc) SvncOpportunitv.php© SyncProfileMetadata.nc) Svncireampields.00.ol© SvncTeamMetadata.of(C) Uodate@ooortunitvSoN DealRisksM Mailbox› M MeetinaBo1M Middleward(c) Handle-ubsnotPatel in(C) Patel imited nhn> M StreaminalpubLic tunccion handlelSconnection->transaction(function () use (Sactivity, ScrmActivityService, SactivityRepository) {Log: :1nfo message'[MatchActivityCrmDatal Successfully matched CRM data'. [contact1d => Sactzvity->qetcontact0?->getiidol'opportunity id' => Sactivity->getOpportunitv@2->getIdO.Stage 1d' => Sactavitv->oetStade0?->oetiid0.elseLoa: : infod message:'[MatchActivitvCrmDatal No CRM match found'. [lactivity' => $this->activityId,=> Sthis->remoteSearch,} catch (RateLimitException $e) {} ca •Extract Surround /Log: : erroru'activity' => $this->activityId,LmatcnactivityCrmData] Failed to match CRM data', ["remocesearch = sch1s->renocesearch,'exception' => $e->getMessage0'trace' => $e->qetTraceAsStringO.throw sepublic function failed(Throwable Sexception): void‹...?orivate function resetcrmManninasdActivitvRenository SactivitvRenositorv): void 1Sactivity->updete6i5 edits JAccept File * X Reject File 1 * €< 4 of 4 files →>M ToanHelner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)S0 hl• supoort Dally • In 3n 22m100% C47 • Mon 11 May 11:38:29AskJiminnyReportActivityServiceTestv+0 ..4 SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console leu)# console [slAGiNG)2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Vace". "Inu,ur May 2020 14.21.15 6Ml"Jn"Loncent-lvoe. "apolicacionison.charser=utt-on"Transfer-Encoding": ["chunked"]."CF-Ray":"9t80deb8dbo0dcsa-S0F"J,"Strict-Transport-Secur1ty":"max-aqe=31536008* 1ncludeSubDomains: preload")n"server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfr;desc=|"9f80deb8e7c6dc3a-IAD\""],"x-hubsoot-correlation-id":"019e02d0-6fd8-7812-bdba-885b7ccb3ee3"7"Set-Cookip"." c+hm=Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To".f"s• endpoints ".ff("url\":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2R'("group\":\"cf-nel\".("max_age\":604800}"],"NEL"L"1"success_fraction\":0.01,"reportco. "cr-nel"max agel ":604800}"].'Server": ["cloudflare"]}} {'correlation_1d":"95256555-ec98-4541-b9za-adta/SboYeab"."trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545CascadeHubspot Rate Limit ReWhat chanaed and what didn't• HubSpot API quota burned: 441k → 11k. No risk of escalation to TEN SECONDLY ROLLING or DAILY LIMIT• Loa volume: 882k → 10k entries. Observability pioeline survives.• DB transaction churn: 245/s → ~50-100/s. ~3x reduction.• Worker CPU Redis load: vastly reduced (no APl HTTP overhead in 95% of cvcles).• Other queue jobs: still starved, but workers loop faster, so more cycles available - somewhat better.•DAILY LIMIT scenario: now fails immediately via siob→>fail() instead of looping for 30 minStill bad (unchanged)•91% iob failure rate after 30 min. The fundamental bottleneck is HubSpot's 5 RPS + 30-min retrvlnt il. With 100k iobs throuch 5/s. vou need >5 hours• Activities end un in oridinal (ore-match) state, since failedo onlv loasWhat would still help (next steps, if relevant)1. Dispatch-side throttling: don't dispatch all 100k at once. The math hard-caps you at 5/s x seconds-in-window. Either pace the dispatcher (e.g. drip 4/s intoqueue) or use a single batch processor that honors the rate limit naturally,2. Bump RETRY WINDOW MINUTES: 30 min is way too short for 100k jobs at 5 RPS. To absorb the whole batch you need ~6 hours. But long-held unique locks aretheir own concorn3. Backtill via batch endpoints: HubSpot has batch read endpoints (100 |Ds per call) for contacts/companies/deals. They count as 1 call against the rate limitКОСТВСТЕСIООЕТИТСИКУNАМОТБE ВАРЬОЛОВTОTОRTCEEOCON/OEОEIAEIОВVATOACIAETEЛAEAIIECОNPRTOTEACО1IOSummaryImplemented• RateLimitException carries policy, exposes 1sDa1lyLimito v RateLimitException.php:9-33• Client:: executeRequest now has a per-portal Redis cache circuit-breaker: populates from real responses & Client.oho:76-119•Client::parsePolicy extracted; policy passed to exception v Client.php:166-184• Middleware fails fast on DATLY LIMIT• droos MAX RATE LIMIT ATTEMPTS • raised MIN RETRY DELAY to 5s with litter samoled loaaina V Handl eHubsootRatelimit.php:14-53• MatchActivitvCrmData uses RETRY WINDOW MINUTES constant; skips stack-trace log for RateLimitException v MatchActivityCrmData.php:32-78Not changed (per-portal redis cache replaces it): the DB rate limits table dependency. The new flow doesn't read from it. Existing ProviderRateLimiter usagein non-HubSoot code oaths (Salesforce, etc.) is untouched.Mot roenlt for tho 100k coonorin.• 7 ~98% reduction in wasted HubSpot API calls• V ~99% reduction in loa volume• • DAILY LIMIT now triggers immediate fail (no 30-min loop)• • No more thunderina herd•/ 010 inh failuro rato ic unchanaod - fundamontallu a dicnatch-rato / rotrvlinti1 micmatch arahlom not a rato-limit-handlina nrohlomAccent alliW Windsurf Toams 110-22 (56 charc 1 line hreak)UTE.Rio 4 spaces...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
NULL
|
16308
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-limProiect© TrackRecordingFileSiz© TrackRecordingSizeEnT. ValidateSmitProspect:yhuospotsyncstrategybase.ong© ProspectCache.phpAjReportsC) MatchActivitvCrmData.php*RateLimitexception.p0 Calendarn Conference© PaginationConfia.php0 Crmclass Cuient extends BasecLient imolements Hubspotc ientinterface@ bullnorn> OJ CloseC Copper164>J Crmobiects_ DecorateAcuiviiy• Dummy167) Helpersv D Hubspot168169AccountSvncStrate170>D Actionsla ContactsuncStratet172M Fields• M lournal1741751 Metadatalv OpportunitySyncSt>MConcerns.(c) Hubsnotl actMonC HubspotLastMor(C) Hubsnotl actMo181 G© HubspotLastMor(C) Hubsnotl actMou© HubspotSingleS© HubspotSyncStr© HubspotWebhoc~ M Padination186 G© HubspotPaginat© PaginationConfi(C) PaqinationState> D ProspectSearchStr:› D Redisv D ServiceTraitsT OpportunitySync 194() SvncCrmEntities195 CT SuncFieldstirait.T. WriteCrmTrait.ol197• M UtilsM WebhookC) BatchSvncCollectot(c) RatchSvncRedisSec) Client nhoC) ClocedDea|StadecS@ DealFieldeServicer no/public function parsePolicy(Throwable $e): ?stringif method exists(se.aetResoonseBody'D)return nullShodv = Se->ae+ResnonseRodv0:if (is_string($body)) {$body = json_decode($bodyassociative: true) ?? []if (! is_array($body))return null;Spolicy = Sbody['policyName'] ?? Sbody['policy'] ?? Sbody['context']['policyName'] ?? null:return is string(Spolicy) ? strtoupper(Spolicy) : null:ououc tunction oetranzmumanzversiono: strinapublic function getinstanceo: Factoryreturn new Factorv(ẞoauth?'base unl' => Sthis->haseln1.public function getNewInstance: DiscoverynotunnHubSno+|Cactonv.•cnontoWithAccoccTolen(Cthic-saccoceTokon).* Secondly and daily limits for Hubspot API* Product er:rree & starterHone Cui Men07 Enterfre oe 1 APT adt-on (anu tiern)olner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)— 30A SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKob.# console leu)# console [slAGiNg)2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Vace". "Inu,ur May 2020 14.21.19 6Ml"Jn"concenc-lyoe. apolicacion/ison.charser=utt-on"Transfer-Encoding": ["chunked"]."CF-Ray":"9t80deb8dbo0dcsa-SOF","CF-Cache-Status": L"DYNAMIC"J,"Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncLudeSubDomains: preload")"access-control-allow-credentials": "false"."server-timing": ["hcid;desc=|"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfr;desc=|"9f80deb8e7c6dc3a-IAD\""],"x-content-tvoe-ootions":"nosniff"."x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookip"." c+hm-Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Report-To":["{"endnoints".("url\":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RV("group\":\"cf-nel\".("max_age\":604800}"],"NEL"L"1"success_fraction\":0.01,"reportco. "cr-nel"max agel ":604800}"].'Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sboyeab","trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545suppont Dally • In sh 14m100% 2• Mon 11 May 11:46:09U AskJiminnyReportActivityServiceTest -CascadeHubspot Rate Limit Re• RateLimitException.php+0 ..D Cii+/ -12Now the middleware - drop DAILY_LIMIT branch, drop MIN RETRY DELAY to 1, keep jitter:• HandleHubspotRateLimit.php+3-15Now MatchActivitvermdata — collapse the two catches into one with instanceof• MatchActivityCrmData.php+8-8All chandes annlied. Cinal state.Summary of this round of changesFlleChangeReasorRateL1m1tException.phpRemoved policy tield & methodsMiddleware doesn't need it; cache TTL handles DAILY naturallyclient. php:: executeRequestcache stores scalar int (retry after instead of arraySimpler; no policy to trackClient. php::executeRequestDrop policy from RateLimitException constructorMatch new exception signature; still log policy for observabilityHandleHubspotRateLimit.phpRemoved DAILY_LIMIT branchretryUntil + long cache TTL handle it; saves complexityHandleHubspotRateLimit.phpMIN_RETRY_DELAY 5 →1Honor HinhGnotle setunl cianal. littor dooc tho hord nrotostionHandleHubspotRateLimit.phpNamed JITTER_ SECONDS constantSelf-documentingMatchActivitvGrmData.nhnCollansed dual catch into sinale catch + instancenfMore readable. no awkward emntv rethrow blockHow DAILY_LIMIT now flows (no special case needed)1. HubSpot returns 429 with nolicvlane: DATLY LTMIT2. parseRetryAfter sees no Retry-After header, falls through to policy table → returns 600s (the DAILY LIMIT default I left in parseRetryAfter)3. Cache populated with TTL=600 (10 min)4. All subsequent requests fast-fail via cache for 10 min - no API calls5. Middleware releases iobs with delav 1-6s (cheap cvcles, all hit cache)6. After 20 min retrvlintil eynires @) iohs nermanent-fail naturallv7. No special branch. no siob->fail(). no exception fieldThe system converges to the same outcome with less code.Re-running the 100k scenario (delta from previous run)Material changes vs the previous version• Job retry cycle is faster (delay 1-6s instead of 5-10s) → ~2x more queue cycles per second per worker• More cache hits per second (since cvcles are faster) = but cache GETs are cheao (~0.1ms)•Same throughput ceiling (5 successful calls/s — HubSpot's limit)• Same final outcome (~9k succeed, ~91k fail at T=30min)MetricPrevious (this round)This roundSucceccful inhs in 20mina.o00O 000Wasted HubSoot APl calls~10.800~10.800Job non evcles/sed~50-100~100-2503 files +73 -43)Accent alliAsk anvthing (84D)+ « CodeClaude Onus 4.7 MediumWN Windsurf Teamo244-1 UTE.Rio 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
16361
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-limiroledey© TeardownStream.php© HubspotSyncStrategyBase.php© ProspectCache.php• AiAutomationAjReportsAudioC Job.phpx*RateLimitexception.pr© HandleHubspotRateLimit.php xAutomatedReports© RequestGenerateAskJi© RequestGenerateRepo © PaginationConfig.phpC) senakeportexpiringso 14class Handl eHubsootRateLimitsenakeportJob.pnppublic function handle(object Sjob, callable Snext): void© SendReportMailJob.ph 28C) senakeporinotcenera 29> [ Calendar0 Crmv _ Delere© DeleteAccountJob. 31© DeleteContact.Job.r 4TDeleteCrmEntitviraC) DeleteleadJob.oho© DeleteOpportunityJ 33C) VeritvActivitvermirm Hubsoot• M Salesforce© AutologDelayedToCrm 37© CheckAndRetryRemoti 38(C) CreateFollowuoActivit(c) CroateNotec nhnl(c) MatchActivitiocToNew(C) MatchA ctivitvCrmDatal© NoteObject.php© saveAcuivity.onp© SaveTranscription.php© SetupLayout.php© SyncActivity.php© SyncFieldMetadata.ph© SyncHubspotObiects.r© SyncLeads.php© SyncObjects.php© SyncOpportunities.Job© SyncOpportunitv.php© SyncProfileMetadata.cc) Svncireampields.00.ol@ SvncTeamMetadata,pl 49(C) Uodate@ooortunitvSoN DealRisksM Meetina3o1M Middleward(C) Patel imited nhn> M Streaminal>M Toan"policy' => se->qetPolicyothrow $e:Sjob->fail($e):TecurtrSretrvAfter = Se->qetRetrvAfter@:$delay = max(self::MIN_RETRY_DELAY, min($retryAfter, self::MAX_RETRY_DELAY));Sdelav = max( vaseLt::nIN_REIRY_UELAY, mintse->getketryAftero...values: selt::MAX KEIKY UELAYODASdelav += random_int(0. 5)3Log: :info('[HandleHubspotRateLimit] Rate limit caught, releasing job with delay', ["Jod class= so0..class'attempts = s70b->attemptsoi= Sretrvatter.= Sdelav.'rate Limit messadel => se->oetlessadeorSattemots = siob->attemotso:if Sattemots <= 3 Sattemots % 10 === 0) 21Loa:: info message:'HandleHubspotRateLimit Rate Limit cauaht, releasing iob with delav'.Iiãob class' => Siob::class.retry aften' > se->aetRetrvAfterOl.'delay' => $delay,'policy' => $e->getPolicyO.Cinh-snolonce (Sdolaw)2 0f 6 edits JAccept File * X Reject File 1 * €+ 3 of 4 files →lelner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)S0 hlsupoort Dally • In 3n 24m100% 47. • Mon 11 May 11:38:25AskJiminnyReportActivityServiceTestv+0 ..A SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKOb.# console leu)# console [slAGiNg)2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Vace". "Inu,ur May 2020 14.21.19 6Ml"Jn"concenc-lyoe. apolicacion/ison.charser=utt-on"Transfer-Encoding": ["chunked"]."CF-Ray":"9t80deb8dbo0dcsa-S0F""Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncludeSubDomains: preload")"access-control-allow-credentials": "false"i."server-timing": ["hcid;desc=|"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfr;desc=|"9f80deb8e7c6dc3a-IAD\""],"x-content-tvoe-ootions":"nosniff"."x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookip"." c+hm=Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To".f"s"endnoints".("url\":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RV("group\":\"cf-nel\".("max_age\":604800}"],"NEL"L"1"success_fraction\":0.01,reportto. "cr-nel,"max agel ":604800}"].'Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sboyeab","trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545CascadeHubspot Rate Limit ReWhat chanaed and what didn't• HubSpot API quota burned: 441k → 11k. No risk of escalation to TEN SECONDLY ROLLING or DAILY LIMIT• Loa volume: 882k → 10k entries. Observability pioeline survives.• DB transaction churn: 245/s → ~50-100/s. ~3x reduction.• Worker CPU Redis load: vastly reduced (no APl HTTP overhead in 95% of cvcles).• Other queue jobs: still starved, but workers loop faster, so more cycles available - somewhat better.•DAILY LIMIT scenario: now fails immediately via siob->fail() instead of looping for 30 minStill bad (unchanged)•91% iob failure rate after 30 min. The fundamental bottleneck is HubSpot's 5 RPS + 30-min retrvlnt il. With 100k iobs throuch 5/s. vou need >5 hours• Activities end un in oridinal (ore-match) state, since failledo onlv loasWhat would still help (next steps, if relevant)1. Dispatch-side throttling: don't dispatch all 100k at once. The math hard-caps you at 5/s x seconds-in-window. Either pace the dispatcher (e.g. drip 4/s intoqueue) or use a single batch processor that honors the rate limit naturally,2. Bump RETRY_WINDOW_MINUTES : 30 min is way too short for 100k jobs at 5 RPS. To absorb the whole batch you need ~6 hours. But long-held unique locks aretheir own concern,3. Backtill via batch endpoints: HubSpot has batch read endpoints (100 |Ds per call) for contacts/companies/deals. They count as 1 call against the rate limitКОСТВСТЕСIООЕТИТСИКУNАМОТБE ВАРЬОЛОВTОTОRTCEEOCON/OEОEIAEIОВVATOACIAETEЛAEAIIECОNPRTOTEACО1IOSummaryImplemented• RateLimitException carries policy, exposes 1sDa1lyLimito v RateLimitException.php:9-33• Client:: executeRequest now has a per-portal Redis cache circuit-breaker: populates from real responses & Client.oho:76-119•Client::parsePolicy extracted; policy passed to exception v Client.php:166-184• Middleware fails fast on DATLY LIMIT• droos MAX RATE LIMIT ATTEMPTS • raised MIN RETRY DELAY to 5s with litter samoled loaaina V Handl eHubsootRatelimit.php:14-53• MatchActivitvCrmData uses RETRY WINDOW MINUTES constant; skips stack-trace log for RateLimitException v MatchActivityCrmData.php:32-78Not changed (per-portal redis cache replaces it): the DB rate limits table dependency. The new flow doesn't read from it. Existing ProviderRateLimiter usagein non-HubSoot code oaths (Salesforce, etc.) is untouched.Mot roenlt for tho 100k coonorin.• 7 ~98% reduction in wasted HubSpot API calls• V ~99% reduction in loa volume• • DAILY LIMIT now triggers immediate fail (no 30-min loop)• • No more thunderina herd•/ 010 inh failuro rato ic unchanaod - fundamontallu a dicnatch-rato / rotrvlinti1 micmatch arahlom not a rato-limit-handlina nrohlomAccent alliW Windsurf Toams 17.28 (15 charc)UTE.8io 4 spaces...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
NULL
|
16304
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-linProiect v© TeardownStream.php• AiAutomationM A Renorts© HubspotSyncStrategyBase.php© ProspectCache.phpAudioAutomatedReports• kequestGenerateAsk.J© RequestGenerateRepo© SendReportExpiringSo* RateLimitexC) PaqinationConfia.php•+ maxExcentionssenakeportJob.php© SendReportMailJob.phX P Cc W .*гI Y:class MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUniqueC) senakeponiNorgenera> [ Calendar0 Crmv _ Delere© DeleteAccountJob.| 140© DeleteContactJob.f 14T DeleteCrmentityTra 14%© DeleteLeadJob.php 143© DeleteOpportunityJ 144© VerityActivityCrmT: 145m Hubsoot11.46|> M Salesforce© AutologDelayedToCrm 148(C) CheckAndRetrvRemot(C) CreateFollowuoActivit(c) CroateNotec nhnl(c) MatchActivitiocToNew© MatchActivityCrmData(E [EMAIL]© SaveActivity.php© SaveTranscription.php 150© SetupLayout.php© SyncActivity.php© SyncFieldMetadata.ph 153© SyncHubspotObjects.r 154© SyncLeads.php© SyncObjects.php© SyncOpportunities.Job 15%c) Syncopportunitv.php© SyncProfileMetadata.c 159SvncTeamFields.Job.ol 160© SvncTeamMetadata.ot 161© Undate@pportunitvSpe 162N DealRisksM Mailbox› M MeetinaBo1M Middleward(c) LandleLubsnotPatel ir 76(C) Patel imited nhn> M StreaminalpubLic tunccion handlelSconnection-›transaction(function () use (Sactivity, $crmActivityService, SactivityRepository) { ,'opportunity id' => Sactivity->getOpportunityO?->getIdO.'stage id' => Sactivity->getStage?->getIdO.} else {Loa:: info( message:'[MatchActivityCrmDatal No CRM match found'. [activity' => Sthis->actzvitvid.= Sthis->remoteSearch.catchThrowable Se)Loq::error('[MatchActivityCrmData] Failed to match CRM data'. ['trace"=> $e->getTraceAsStringO,if ( Se instanceof RateLimitExcention) *Loa::error me'Matchactivitvermbatal Failed to match CRM data'."excention' => Se->aetMessaae01.Iitnace' => Se->aetTraceAsStrinao.thnow So.public function failed(Throwable Sexception): void{...}private function resetCrmMappings(ACtIVIty SactivityAcrIvTvreDoStrory sactzvitvrevostrory): void {Sactivity->updateCl'Lead id' E,4offredits JAccept File &+X Reiect File t86+ 3 of 3 files →'contact 1d' => nuluHelner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)A SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKob.# console leu)# console [slAGiNg)2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Vace". "Inu,ur May 2020 14.21.19 6Ml"Jn"concenc-lyoe. apolicacion/ison.charser=utt-on"Transfer-Encoding": ["chunked"]."CF-Ray":"9t80deb8dbo0dcsa-S0F"J,"Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncludeSUbDomains: preload"),"access-control-allow-credentials": "false"i."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfr;desc=|"9f80deb8e7c6dc3a-IAD\""],"x-content-tvoe-ootions":"nosniff"."x-hubsoot-correlation-id":"019e02d0-6fd8-7812-bdba-885b7ccb3ee3""Set-Cookip"." c+hm=Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To".f"s("endpoints)":[{("url\":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RV("group\":\"cf-nel\".("max_age\":604800}"],"NEL"L"1"success_fraction\":0.01,reportto. "cr-nel,"max agel ":604800}"].'Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sboyeab","trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545hell"suppont Dally • In sn gm100% Lz• Mon 11 May 11:51:08AskJiminnyReportActivityServiceTest vCascadeHubspot Rate Limit Re+0 ..ReasonRateLimitException.phpMiddleware doesn't need it: cache TTL handles DAILY naturallycache stores scalar int (retry after) instead of arraySimpler: no policy to trackDrop policy from RateL1m1tException constructorMatch new exception signature; still log policy for observabilityRemoved DAILY LIMIT branchretryUntil + long cache TTL handle it; saves complexityMIN RETRY DELAY 5 →1Named JITTER SECONDS constantSelf-documentingCollapsed dual catch into single catch + instanceofMore readable; no awkward empty rethrow blockHow DAILY LIMIT now flows (no special case needed)1. HubSpot returns 429 with policyName: DAILY_LIMITZ. parseRetryAfter sees no Retry-After header, talls through to policy table → returns 600s (the DAILY LIMIT derault lleft in parseRetryAfter3. Cache populated with TTL=600 (10 min)4. All subsequent requests fast-fail via cache for 10 min - no API calls5. Middleware releases iohs with delav 1-6c (chean evcles. all hit cache)6. After 30 min, retryUntil expires → jobs permanent-fail naturally7. No special branch. no siob→>failo, no excention fieldThe system converges to the same outcome with less code.Re-running the 100k scenario (delta from previous run)Material chandes vs the previous version:•Job retry cvcle is faster (delav 1-6s instead of 5-10s) → ~2x more queue cvcles per second per worken• More cache hits per second (since cycles are faster) - but cache GETs are cheap (~0.1ms)• Same throughout ceilina (5 successful calls/s — HubSoot's limit)• Same final outcome (29k succeed. 291k fail at T-30min)|MetricSuccessful jobs in 30minPrevious (this round)This round9,000Wasted HubSpot API calls~10,800Job pop cycles/sec~50-1009,000~10,800~100-250|Log entries (with sampling)~10000~10.000Averade delav ner releace275gThe faster retry cycle gives you slightly better responsiveness when the cache window expires (more "lottery tickets" at HubSpot's open second), but doesn'tThe fundamental remaining issue is unchanged: 30 min x 5 RPS = 9k jobs ceiling. To process all 100k, you either need ~6 hours window, or batch-endpointredecian. or disnatch-cide throttlinaG al ... (2 files with chanaesann/lohe/Crm/MMatchActivitvCrmData.nhn 412-8View allapp/Jobs/Middleware/ HandleHubspotRateLimit.php +12 -20ot/m Client.oholok explain Sdelay = random.int(O, self: ITTER_SECONDS); It also seems that before the HandleHubspotRateLimit did more. Explain. then lets run the scenari+ « CodeClaude Onus 4.7 MediumW Windsurf Teams152-52UTE.Rio 4 spaces...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
NULL
|
16433
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-linProiect© TrackRecordingFileSiz© SyncRelatedActivityManager.php© TrackRecordingSizeEnT. ValidateSmitProspect:AjReportsС) Cпескапакеtгукemotematch.phg( RateLimitException.php0 CalendarConference0 CrmC) Client.php X php ide_ helper.phi©) PaqinationState.phoC) MatchCrmData.php© CrmObiectsResolver.phc(C) ProviderRateLimiter.php©) PaqinationConfia.php@ bullnorn> OJ CloseC Copperclass Cuient extends Baseclient imolements Hubspotc ientinterface— 82 467 У3 л>J Crmobiects_ DecorareAcuivily• DummyHelpers781782783 Giv HubspotAccountSvncStrate>D Actionsa ContactsuncStratedm Fields• Malournal1 Metadatalv OpportunitySyncSt>MConcerns.(c) Hubsnotl actMorC HubspotLastMo(C) Hubsnotl actMo(C) Hubsnotl actMou(C) HubsnotSinaleS© HubspotSyncStr© HubspotWebhoov M Padination© HubspotPaginatil© PaginationConfi(C) PaqinationStateR0LG> D ProspectSearchStr:› D Redisv D ServiceTraits€ OpportunitySync 808() SvncCrmEntitiesT SuncFieldstirait.81€T. WriteCrmTrait.ol• M UtilsM WebhookC) BatchSvncCollectot on/(c) RatchSvncRedisSec) Client nho© ClosedDealStagesS 817@DealFieldsService.p 818* Othrows BadRequest* Othrows HubspotExceptionpubule tunccion creacemeeuing array spayload. kesponseSendpoint = '/crm/v3/objects/meetings':return sch1s->makekequestsendpolnthod: 'POST', $payload):* othrows BadRequest* othrows HubspotExceotionoubuic function uodateMeeting(strina Smeetingid. array Soavload): ResponseSendpoint = '/crm/v3/objects/meetings/ • Smeetingld;hod: "PATCH' Soavload).* Athrows Excentionnublie function enpateNote(string $body,string $ownerId,inc sulmescampstring $obiectId,NoteUbfect Snotelbiect): ?string {tryfSnoteInout = new SimplePublic0biectInoutcl"properties''hs note body' => Sbody.'hubspot owner_ 1d' => Sowneridi'hs timestamo' => Stimestamollelner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)S0 hl• supoont Dally • In zn 20m100% Lz• Mon 11 May 12:40:08AskJiminnyReportActivityServiceTest v+0 ..=custom.log ^=laravel.logA SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKOb.# console leu)# console [slAGiNg)[2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"neaders".?"Uace":L"Inu,or May 2020 14.21.15 6Ml"Jn"Transter-Encod1nq":"chunked")."Connection":"keep-alive""CF-Ray" : ["9f80deb8db60dc3a-SOF"],"Strict-Transport-Secur1ty":"max-aqe=31536008* 1ncLudeSubDomains: preload")naccent-encodino""access-control-allow-credentials": ["false"]."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\","x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"So+-Cookie"." c+hm-Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtmoV-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To"."","endpoints\":[{"unl".httns:la.nel.cloudflane.com./renon+W/v42c=NVA1cVTPQfVm32anS0#xVF/sd2RN\"group)":\"cf-nel\","max_age\":604800}"]|"NEL":["{\"success_fraction\":0.01,"report to\":|"cf-nel\"."max age":604800}"]"Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sb6Yeab","trace_10":C/AD8565-905t-4604-9405-0e5b551e5545| IIIIII I 1IP 1I 111111CascadeHubspot Rate Limi4. F (pre-flight cache check) - eliminates DB churn during inevitable stormsWith A + 8 alone, the 100k → 9k problem becomes 100k → 100k completed in ~3-10 minutes, dependina on cachina efficiencv.SummaryRace window: 5-10 wasted real APl calls per cache il cycle. Bounded, ~15k calls wasted in 30 min (vs 441k without cache). Acceptable, can be tightened with aprobe lock if neededHubSpot-named middleware on multi-CRM job: no functional issue for HubSpot. Salesforce/Pipedrive rate-limits go through the wrong path (treated as realexceptions. Rename + extend other clients tor consistency.100k → 9k bottleneck: not a rate-limiter problem, an architectural one. The fix is batch endpoints + dispatch throttling, not more aggressive retry logic.ok what about adding something to deletecrmencicylra1t.phpThoughtsRead DeleteCrmEntitvTrait.nhnlThought for 13sThouaht for 30s|Looking at DeleteCrmEntityTraitReadina carefully. I want to point out something important: the trait itself doesn't make HubSpot API calls, It does DB cleanup. So addina Hand leHubspotRateLimi+ middleware here directlv wouldn't heln)But the trait is the fan-out point that creates downstream rate-limit problems. Specifically line 73• DeleteCrmEntityTrait.php:71-74# Disnatch ioh to verifv f CRM tasklevent stiill existsi€ (sactivitv-shacGrmProvidertdl) dVerifvActivitvCrmTaskJob::dispatch(Sactivitv~>getIdO):This is the same anti-pattern we just analyzed in MatchActiv1tycrmData•Delete one HubSpot contact with 1,000 associated activities → 1,000 VerifyActivityCrmTaskJob dispatches• Each verifv job calls ScrmService-sverifvTaskExists) → HubSoot APl call• Bulk-delete 100 contacts → ~100,000 verify jobs → same 100k → 9k success scenarioAnd VerifvActivitvCrnTaskJob itself has none of the rate-limit protections we just added:^ VerifvAcpublic int $tries = 3;public tunctzon tameout): inreturn 120: // 2 minutesAsk anvthina (&4L)+ « CodeClaude Onus 4.7 Mediumio 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
16906
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormINavicarecodeFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitroledeyC) TrackAutomated ReportGeneratedzventonp•.gitignore© SyncRelatedActivityManager.phphudspotsynestrategybase.ongT SyncCrmEntitiesTrait.phpe audio.wav© VerifyActivityCrmTaskJob.ph= nuospor-lournal-poll.log© CrmActivityService.php© ProviderRateLimiter.phponounit.xmiis ttt.isE oauth-private.keyclass J1minnyDebuqCommand extends Command=oauth-public.kev= storageE supervisord.pidtext-relav..sontestsFeatureIntearationServicesv 7UnitActionsm ComnonentM ConficurationConsoleiN ContracteD DomainIDTOD EnumsD EventsD Exceptions>0crm(c) EmailActivityimportexc( HandlerTest.php© RateLimitExceptionTesC fixturesa GuardsD HelpersahiteIntearationsa InteractionsM.Jobs> ActivitvM AiAutomation>M Audiolv AutomatedRenortsC) CreateRecultsTest.ilC) RequestGenerateA.C) RequestGenerateR,( SendRenortEynirineC SendRenort lohTec@& SendReportMailJobe CondDanartNatGonMelondarMemmTacts naccod. 12 (15 minutes addlprivate function natelamutScrmService->syncOpportunity('374720564');ScrmService->matchByName('Robot'):private function simulateMatchActivityStorm(int $teamId = 2, int $count = 100): voidsteam = leam:.rindsteamla*scont10 = steam->geturmuontqurationonsacrzvitles = ActIvitv::quervol->wherel co'crm configuration id'. Sconfig->qetIdO)->U1mit(Scount)->qetosSthis->info string"Daspatchina «Sactivities->counto* MatchActivitvermlata ñoos (portal= Sconfia->getiido-"):foreach (Sactivities as Sactivitv) «MatchActivitvCrmData:disoatchd.ts: Sactivity->getId, $config, true);Sthis->info( string: 'Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.'):no usagesprivate function simulateVerifyTaskStorm(int SteamId = 2, int $count = 100): voidSactivities = Activity::queryO'team_id', $teamId)->whereNotNull( columns: 'crm_provider id')aalnalanwwnleIAdIN→> Umrscount)->geto"Sthis->info string: "Dnspatching «Sactivitres->countO VerifvActzvitvcrmtaskJob 100S")*foreach Sactivities as sactivity)Ver1fvActivitycrmtaskJo0::drspatchSactivity->qetido0:Sthis->infod strina: "Done."):Support Daily - in 1h 42 n100% 1?.Mon 11 May 13:18:22T. DeleteCrmEntitylrait.ong© Job.php45 A133 M11 A= custom.log= laravel.log X 4 SF [jiminny@localhostReceived 429 from API||Local.INF0: [ EsUpdateTarget ] Update single target {"target":"activities" "purpose":"searchable-observer-update"entityId":615092} {wLocal.INF0: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities" "entityId":615092Local.INF0: [MatchActivityCrmData] Participants old state {"activity":615092,"participants":[{"id":1004102,LocaL.INru. soc1alAccountservice recchino coken "":Local.INFO: [SocialAccountServicel Token retrieved {"ot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-96LocaLNFu:Encrypted okentanager cenerating access token. umode alecacycornela ion 1oaObechSD-154n- 4105-a5-9056102ae4449"PtNacLocal.INFU:Local. INFU:•Prospect match cache mass, calling the APl undentitien tyne":"emall".1dentitler":"nkolay.n1kolovdamanny.com' "connelationLocaL.INFU: Hubspot Falled to fetch contact "eLOCOLRNEU Prospect matchiAp returned empty nesut, cachng the miss with empty prospect data ucenttien tyoe n'ema wrodenttlenPin iLocal.WARNING: [Hubspot] No retry-after headesoot Excentions BadRLOCOL,WARNING" Huosdot Recenved 429 From Apla"tePost nttos:("message)":"You have reached your secondlyFObecb3b-1f4f-4fb3-0311-9056fd2ae449" "trace 1d"."8e45b868-2eh5-42f8-a91e-22951e49d57d";Local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\ (Jobs\\Crm\\MatchActivityCrmData","attelocnIwEir NatchActivttvcembatal Stantiino CRM data matchina Wactaytiy 6522k,Unemote seanchlAioue, "set con slauataonnd statele thleaLocal.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityid":614436} 1"correlaLocal.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityid":614436,"collectionKey":"activities-fLocal.INFO: [MatchActivityCrmData] Participants old state {"activity":614436,"participants":[{"id":1002751,"user_id":null,"contact_id":null,"}localTNE0• SocialAccoun+Senvicel Fetching token &isocialAccounttd"•1499 "nroviden"."nnplation idi.«858d73h2-h10f-4bap-ha14-6haLocal.INF0: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":":Isnot"} S"connolation id".«858d73h2-h10f-4bap-ha1z-6HLocal.INF0: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"858d73b2-blef-46ae-ba14-6ba5fb5e53ab", "traceLocal.INF0: [Crm0wnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot" "crm_owner":148, "team_id":2} {"correlation_idLocal.INF0: [Prospect match] Cache / local search hit {"identifier_type":"email" "identifier":"[EMAIL]"} {"correlation_idLocal.INF0: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email" "identifier":"nikolay.nikLocal.INFO: [HandleHubspotRateLimitl Rate limit caught.releasing iob with delay {"job_class":"Jiminny) (Jobs'\Crm\\MatchActivityCrmData" "atteLocal.INFO: [MatchActivityCrmDatal Starting CRM data matching {"activity":614382."remote search":true. "set confiquration":2,"old state":{"leacLocal.INFO: [ EsUpdateTarget ] Update single target {"target":"activities".LocaL.INFU: AsyncUpdaterlasticsearch Entityadded to Redis list ""entitylype":"activitles"."ent1ty1d":614582.Local.INF0: [MatchActivityCrmDatal Participants old state {"activity":614382ict id":null."]Local.INFU:Soc1alAccountService.lLocal. INF0:rrelation_id":"78f847cf-6495-4054-b3d4-e17LocaLNFu: Encrvotedi okenmanager Generatino access tokenLocal, INF0:LocaL.INFO:Prosoect match Cachelation 1dLocaL.INFO:LocaL.INFO:HandleHubsootRateLimiti Rate Limit cauaht..releasing iob with delay "iob class":"JiminnvJobs CrmMatchActivitvenocaINEtsclndateTaraet " Undate sinoidLocal. INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities".Inool TNSO. MatchActivitvComDatal Panticinants old state "activity":61/381 "nanticinants" • L"id" : 1002630 "usen id"null "conLocal. INFO: [SocialAcLocal TNEO•[SocialAccountServiceLocal TNEn-[EncryptedTokLocal TNEn•fCrmiwnenResolven]|Local.INF0: [Prospect rlocal Tash• Drocnon+ matchll eachodLocal.INFO: [HandleHubspotRateLimitl Ratlocal TNSh• [MatchActivitvfnmhntal Ctanti.51...
|
PhpStorm
|
faVsco.js – laravel.log
|
NULL
|
17350
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormINavicarecodeFV faVsco.jsProiect v(C) TrackRecordinaFileSiz© SyncRelatedActivityManager.php(C) TrackRecordinaSizeEnT ValidateSmitProspectEAjReportsС) Cпескапакеtгукemotematch.phg© MatchActivityCr( RateLimitEx,0 CalendarConference0 Crm© Client.php x php _ide_helper.ph:©) PaqinationState.phoC) MatchCrmData.php© CrmObiectsResolver.phc(C) ProviderRateLimiter.php©) PaqinationConfia.php@ bullnorn> OJ CloseC Copperclass Cuient extends Baseclient imolements Hubspotc ientinterface— 82 467 У3 л>J Crmobiects_ DecorareAcuivily• DummyHelpers781782783 Giv h HubspotAccountSvncStrate>D Actionsa ContactsvncStraterm Fields• Malournal1 Metadatalv OpportunitySyncSt>MConcerns.(c) Hubsnotl actMonC HubspotLastMo(C) Hubsnotl actMo(C) Hubsnotl actMor(C) Hubsnotl actMo(C) HubsnotSinaleS© HubspotSyncStr© HubspotWebhoov M Padination© HubspotPaginatil© PaginationConfi(C) PaqinationStateR0LG> D ProspectSearchStr:› D Redisv D ServiceTraits€ OpportunitySync 808() SvncCrmEntitiesT SuncFieldstirait.81€T. WriteCrmTrait.ol• M UtilsM Webhook© BatchSyncCollectoi 814(c) RatchSvncRedisSec) Client nho© ClosedDealStagesS 817@DealFieldsService.p 818* Othrows BadRequest* Othrows HubspotExceptionpubule tunccion creacemeeuing array spayload. kesponseSendpoint = '/crm/v3/objects/meetings':return schls->makekequestsendpointhod: 'POST', $payload):* othrows BadRequest* othrows HubspotExceotionoubuic function uodateMeeting(strina Smeetingld. array Soavload): ResponseSendpoint = '/crm/v3/objects/meetings/ • $meetingld;hod: "PATCH' Soavload):* Athrows Excentionnublie function enpateNote(string $body,string $ownerId,inc sulmescampstring $obiectId,NoteUbfect Snotelbiect): ?string {tryfSnoteInput = new SimplePublic0biectInoutCl"properties''hs note body' => Sbody,'hubspot owner_ 1d' => Sowneridi'hs timestamo' => Stamestamolelner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)=custom.log ^=laravel.logA SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKob.# console leu)# console [slAGiNg)[2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"neaders".?"Uace":L"Inu,or May 2020 14.21.15 6Ml"Jn"Transter-Encod1nq":"chunked")."Connection":"keep-alive""CF-Ray":L"9t80debödb60dcsa-S0F"J,"Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncLudeSubDomains: preload")naccent-encodino""access-control-allow-credentials": ["false"]."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\","x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookie":["__cf_bm=SrUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To".r"*"endpoints\":[{"unl".httns:la.nel.cloudflane.com./renon+W/v42c=NVA1cVTPQfVm32anS0#xVF/sd2RN"group\":\"cf-nel\","max_age\":604800}"],"NEL":["{\"success_fraction\":0.01,"report to":|"cf-nel\"."max age":604800}"]"Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/SboYeab"."trace_10":C/AD8565-905t-4604-9405-0e5b551e5545"II I 11111hel• supoort Dally • In zn 20m100% L2• Mon 11 May 12:40:59AskJiminnyReportActivityServiceTest vCascade• HubSpot Rate Limi+0 ..SidsToVerifvl = sactivity->oet1d0:wreturn Sidstoverity:Then in DeleteContactloh:•handle'•phpSidsToVerify = []:Sdb→>transaction function O use .. &SidsToVerify: void <fall cleanunSidsToVerify = Sthis->handleActivities(Sactivities, Sdispatcher, Slogger):7);Dispatch AFTER commiforeach (sidsToVerify as &id)VerifyActivityCrmTaskJob::dispatch(Sid):Effort: small. Impact: correctness (no orphan verify jobs from rolled-back transactions) + shorter transactionsMy recommendationImplement all three, in this order of Rol:1. Option 1 first (10 min effort, prevents data drift today)2. Option 3 second (15 min effort, fixes a subtle correctness bug)3. Option 2 when you tackle batch endpoints generallyAsking question• Which to imnlement now?Which to implement now?Ada HandlaHubspotRateLimit middleware + retryUntil + maxExceptions + RateLimitException-aware loggin to VerityActivitvCrmTaskJob, Minimal changeOntion 1 + Ontion 3correctness bug,All threeOntions 1 4 2 4 introduce a new VerifvActivitiecCrmTackc.loh (batch) larder seone• neede a new inh clace and batch verify in the CPM cervice laverNone — just discussDon't implement yet; want to think through the trade-offs more before changing anythingOther answe÷ « CodeClaude Onus 4.7 Medium776-10UTE..io 4 spaces...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
NULL
|
16911
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIeWINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-IiyProleteyc) MatchActivityCrmDataTest.pnp xRematchActivityOnCrmObjectDetach.php> • Telephony>m Usen© HubspotPaginationService.php©UserAutomatedReportsController.php(ci ImoortRecallA|Recordinc© SqsVisibilityControlTestT DeleteCrmEntityTrait.phpv Mllictenerd© HandleHubspotRateLimitTest.php© Job.php>@ ActivitiesD Audio> @ AutomatedReports0 AutoScore0 CrmRateLimitException.php(C) HandleHubspotRateLimit.php© Client.php© Kernel.php(C) CrmobiectsResolver.pho(C) ProviderRateLimiter.php(C) PaqinationContia.phpoho_Dealkisksdeciare (strict tvnest):› J clasticsearchE Groupsnamesnace Tests Wnit Llohs Crm.limoorC MailboxOpportunities07 Plavlists› use ...class MatchActivityCrmDataTest extends TestCaseu) TeamsM Transcrintion20 usages→hUsersprivate ActivityRepository|Mock0bject SactivityRepository:n Webhook13 usages1m7 Mailprivate CrmActivityService|Mock0bject ScrmActivityServiceM Models14 usagesM Notilicationsprivate Connection Mock0biect Sconnection:M Policios32 6t )protected function setUp: voidf...}m Providersm Penocitorioc/**1m PulesServices* othrows Exception Exceotion)M Activitvm Activity Drovidord448)oublic function testHandleo: void....?>@ AvatarCJ Calendar>C Conference*@throwsException Exceptionv berm>0 Bullhorn1101 MYpublic function testHandleNoActivityO: voidt...}close>C Copper> D CrmObiects>MHelpers123 % >public function testSkipsCrmConfigurationSwitchWhenAlreadyMatches: voidf...}170 >public function testJobConfiguration: void....hv =uosoot> MActions> ODTOM Fields•0 Journal., M OpportunitvSvncsv MDagination184 >public function testUniqueld: void{...}211 M >public function testTransactionRollback0nExceptionO: void{...}243 0>public function testFailedMethodLoqsErrorO: void{...}public function testLoqsSuccessWhenMatchFound: void{...}c HiubsnotPadin:( DaginationConzacd.public function testLogsNoMatchWhenNoMatchFoundO: voidf...}ch PadinationStat→ M DrosnentSearchSTocts failed• 1 naccod. Q (a minute ado):[Platform] Refinemen... in 5 m100% C49. Mon 11 May 15:55:24MatchActivityCrmDataTest v+0.=laravel.log X 4 SF (jiminny@localhost]Aconsole [pRODltconsole [EUi© PlaybackController.phpA console [STAGING]C) MatchCrmData.php1742174442 419 V8 [IBAN][2026-05-11 11:21:45] local.INF0: [HubSpot Journal Pollingl No dataf"correlation id":"954d156dX39[2026-05-11 11:21:451 LocaZ.WARNING: [HubSpot Journal Polling) Maximum empty results reached, stopping f'empty[2026-05-11 11:21:45] local.WARNING: [HubSpot Journal Pollingl Maximum empty results reached, stopping {"empty[2026-05-11 11:21:45] local.INF0: [HubSpot Journal Polling] Service ending {"runtime_seconds":57 "total _cycles"[2026-05-11 11:21:46] local.INF0: [HubSpot Journal Polling] Saved offset to database on cleanup {"offset":"019₴[2026-05-11 11:21:46] local.INF0:[HubSpot Journal Pollingl Released polling lock2026-05-11 11.21.48 LocaL.LNFU:[2026-05-11 11:21:48] local.INF0:Jaminny console commanas.comand::run Memory usage before starting command {"[EmailSchedulel STARTING batch process2826-05-11 11:21:4811[2026-05-11 11:21:481 local.INF0:Ema1lSchedule FINISHED batch processost":"docker_lamp_1""processed":0.2826-05-11 11:21:59 Local.INF0:Memory usage before starting command {"[2026-05-11 11:22:001local. INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command" : "cn[SyncHubspotubjects) Starting sync 1"team":"02b115eb-93ce-4d1b-929c-173757df8[2026-05-11 11:22:001|local.WARNING: [HubSpot] Account not connected for user {"userId":"33e34a7a-1c02-4f04-87ais not connected. attemotina team memben2026-05-11 11:22:001 Local.TNF0:[CrmOwnerResolver] No team members found with active crm connection {"crm_pro2026-05-11 11:22:0011LocalTNF0: Crm0wnerResolver No team member found wilth active crm connection «"crm orov[2026-05-11 11:22:00] local.INF0:[SyncHubspot0bjects] Sync finished {"team":"b2b115eb-93ce-4d1b-929c-173757df82926-05-11 11•22•001 Tocol. TASD+[SvncHuhsnot0hiectel Stanting cvnc {iteaml."ahae74h8-hfaR-4393-Qa7f_99f4h£2hd[2026-05-11 11:22:00] local.INFO:[SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hub2026-05-11 11•22•001 local TNS0• [SocialAccountSenvicel Token notnieved &isocialAccountTd".1409 "nnoviden"•"hi[2026-05-11 11:22:00] local.INF0: [EncryptedTokenManager] Generating access token. {"mode":"Legacy"} {"correlat2026-05-11 11-22-001 Tocal TAE0-[CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hu[2026-05-11 11:22:00] local.INFO:2026-05-11 11•22•011 1oca1 TAS0• Huhsnot Pacination comnleted siteam idi.2 "endnointi.httns.|lani huhaniCHubSpot] Syncăng opportunäties using strategy: LastModafied "team":2t ("C[2026-05-11 11:22:01] local.INF0: [HubSpot] Synced opportunities {"team":2,"strategies":"lastModified" "sync_co[2026-05-11 11:22:01] local.INF0: [SyncHubspot0bjects] Sync finished {"team":"abae74b8-bfa8-4383-9a7f-89f4bf2bd[2026-05-11 11:22:01] local.INF0: [SyncHubspot0biects] Starting sync {"team":"c6b9d6b0-b48d-4832-a68c-a57d60651[2026-05-11 11:22:01] local.WARNING: [HubSpot] Account not connected for user {"userId":"71e3aac5-fb66-47c5-a23[2026-05-11 11:22:01] local.INF0: [Crm0wnerResolver] Integration owner is not connected, attempting team memben2026-05-11 11:22:01 Local.INFU:[CrmOwnerResolver] No team members found with active crm connection {"crm_prc2026-05-11 11:22:01 Local.INFU:[2026-05-11 11:22:01] local.INF0:[CrmOwnerResolver] No team member found with active crm connection {"crm_prov[SyncHubspot0biects] Sync finished {"team":"c6b9d6b0-b48d-4832-a68c-a57d606512026-05-11 11:22:011 Local.INFU:SynchubspotubnectsStarting sync {"team":"b2d49a54-b645-4637-a7ae-a86cfce6e[2026-05-11 11:22:011 local WARNING:fHubSpotl Account not connected for user {"userId"."2ac0447f-3c8c-4ce0-bae2026-05-11 14:22:01 LOCOLINFOYermownerResolver Intearationowner is not connected. attemotind team memben2026-05-11 11:22:01 LocaL.INFO:found with active crm connection {"crm prol2026-05-11 11:22:011 LocaL.INF0:CrmOwnerResolver Noteam member found with active crm connection «"crm orov[2026-05-11 11:22:011 local, INF0:lands Command: :run Memory usage before startina command "[ScheduleRotCommandl Numben of activities to he cantuned. olMemony usade fon command {"commandil."meJiminny\Console\Commands\Command::run Memory usage before starting command fliminnv Console Commands Command• •nun Memony usade fon command &"command" • "dilocal.INF0: Jiminny \Console \Commands\Command::run Memory usage before starting command12004-05-11 11.22:111local TASh• liminnv Concolo Commande Command• •nun Momany ucado fon command dllcommandil.IImHubSpot Rate Limit ReOk Where is it used. will I break somethina it is renlace LodicSycention with RuntimeSxcention in RateL imitExcention?Searched RateLimitException in -iminnylapp (php) (44)Thought for 2s ›Searched throw new RateLimit Excention and pertormed 1 other auervYour included daily usage quota is exhausted. Purchase extra usage to continue using premium models. Quota resets Mayrnl .A Your included daily usage quota is exhausted. Purchase extra usage to continue using premium models. Quota resets May 12, 11:00Ael anuthina 19pAl« CodeClaude Onus 4.7 MediumW Windsurf Toams 11-8 UTF.8P A enasoc...
|
PhpStorm
|
faVsco.js – MatchActivityCrmDataTest.php
|
NULL
|
19498
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiect vD MeetingBo1v Middleware© PlaybackController.php© CachedCrmServiceDecorator.php© kateLimitea.ongD StreamingRemoteMatch.pnp© Job.php_ leamD Telephony(C)PaqinationState.phpC) MatchCrmData.phpC) CrmObiectsResolver.pho© ProviderRateLimiter.php© PaginationConfia.phpv D Userclass HandleHubsootRateLimitc) ChangeEmailjob.phpDeactivateUserJob.ph© DeleteScheduledUser/ 23@ SetupDefaultSavedSe: 24@ SvncTolntercom.phppublic function handle(object Sjob, callable Snext): voidtry 1Snext((5100)"} catch (RateLimitException $e) {Sdelav = maxc value: self::MIN RETRY DELAY, min(Se->aetRetrvAfterolvalues: self::MAX RETRY DELAYD:c) suncirop anhat.ono(C) SvnctoUserPilot.oho// Add jitter to prevent thundering herd problem by randomizing retry timesSdelay += random_ int(0, self::JITTER_SECONDS):© BaseProcessingJob.phpC)Dummv.lob.ohoSattemnts = Cioh-Sattemnts0.© ImportRecallAlRecordings so(cImnortRemoteTrack.loh.ncloh nhnif (Sattempts <= 3| Sattempts % 10 === 0) 1Log::info( message: '[HandleHubspotRateLimit] Rate limit caught, releasing job with delay'. ['job_class' => $job::class,C).lohDisnatcher nhn© JobDispatcherinterface.p 34© PurgeSoftDeletedOpportu• SqsVisibilityControl.phpv D ListenersvM Activitios"actempus → sactempus.'retry_after' => $e->getRetryAfterO'delay' => $delay,vM Activity DrovidorSiob->release ($delay):Local ChandesChanges 12 tilesShelConsole,Log x= env.locall aod© Client.php app/Services/Crm/Hubspot(C) HandleHlubsootRateLimit.oho aoo/.lobs/Middleware© HandleHubspotRateLimitTest.php tests/Unit/Jobs/Middleware(1HubsootClientinterface.oho aon/Services/Crm/Hubsoot+ → @ Side-by-side viewer8 35f036ac app/Exceptions/RateLimitException.phpDo not ignoreHighight words -X 1 ?declare(strict types=1)namespace Jiminny Exceptions© HubspotPaginationService.php app/Services/Crm/Hubspot/PaginationC.liminnvDehuaCommand nhn ann/Concale/Commandeclass RateLimitException extends LoqicExcentionphp logging.php config© MatchActivityCrmData.php app/Jobs/Crm© PaginationState.php app/Services/Crm/Hubspot/Pagination@ Patol imitEycention nhn ann/Eycentione@t Datel imitEycentionTest.php tests/Unit/Exceptions/ Unversioned Files 9 filesE.env.nikilocal appE env.other appС) CanAccessAiReportsTest.php tests/Unit/Policies© CreateMockAskJiminnvReportResultCommand.php app/Console/Commands/RepE favicon.ico publidE ids.txt appT raw sal querv sal [EMAIL] app/Console/Commands/Crm/HubspotM_WE?HOOK FILTERING IMPLEMENTATION.md a00Tacts naccod. 12 (todav 12:02• Preparation tor kerl.. In 2o m100% Lz• Mon 11 May 14:35:18HandleHubspotRateLimitTest v+0 ..A console [STAGING]171217131/14A1.v1715171617171/ J1727172817291730A SF (jiminny@localhost]4 HS_local jiminny@localhost]# console [PRol)# console [eu)[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {"account_id":1372, "updated_ wM454 ^Y[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {"total":3, "fixed":0,"failed":3} {"correlation[2026-05-11 11:20:48] local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting command {™[2026-05-11 11:20:48] local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting command {"12020-05-11 11.20.48 LocaL.LNFU. LHUDspor Journal commanal scarting polling service1"correlac1on10: Y54015[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Pollingl Service starting {"memory_limit":"256M", "max_execut2020-05-11 11:20:48 Local. LNFU:[2026-05-11 11:20:48] local.INF0:Hubspor Journal Polling Acqulred polling lock ""explres at: 2020-05-1111512026-05-11 11:20.48 LocaL.LNFU:Jaminnyconsole commanos.comremory usage tor commano "commano"."7[2026-05-11 11:20:49] local.INFO: Jiminny\Console\Commands\Command: :run Memory usage for co2826-05-11 11:20:49 Local.INF0:[2026-05-11 11:20:49] local. INF0:[HubSpot Journal Pollingl No data2826-05-11 11:20:53 Local.INF0:Jamnny Console Commands Command: : runMemory usage before starting command[2026-05-11 11:20:53] Local.INF0: Jiminny\Console\Commands\Command: :run Memory usage for command {"command" : "cr2026-05-11 11-20:5411Local.INFO:2026-05-11 11:20:5611local.INFO: Jiminny \Console\Commands \Command::run Memory usage before starting command 1"[2026-05-11 11:20:57] local.INF0: Jiminny Console\Commands\Command::run Memory usage for command {"command": "cr[2026-05-11 11:20:591 local. INF0: [HubSnot Journal Pollinal No data"correlation 1d"."954d156d-8a4f-4592-a046Hubspot Rate Limit Re3. Middleware behavior is healthy vSamole line[HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"attempts":1,"retry_after":1,"d•delay=5 is retry after (1) + jitter (random 0-S) = within [1, 61•Other releases in the log show delay: 4, 5 etc. - jitter is varying as expected•All attempts:1 - no jobs reached 2+ retries, meaning subsequent attempts after release succeeded on the next pass4. No anti-patterns triggered V• Zero Failed to match GRM data lines = the instanceof RateLimitExcention filter in MatchActivitvCrmData::handlZero permanently failed lines = no job hit retryUntil - everything completed within window• Zero using default warnings = parseRetryAfter always extracted a known keyword from the messageWhat this means for productionEytranolatina to the 100k cconario.43% of rate-limits served from cache (3/7) — and that's at LOW load. At storm scale, this ratio. Quota resets May 12, 11:00 AM GMT+3.I will return LogicException<> CodeClaude Opus 4.7 Medium2 differencesCurrent versiornamespace Jiminny Exceptionsuse Throwableclass RateLimitExcention extends RuntimeExcentionpublic function __construct(Strina Smessage =private readonly int $retryAfter = 1,Throwahil e Sarevious = nuinarent.• construct(Smecsade. A Snrevious)•public function getRetryAfterO: intnotunn may/Cthic-snotnvAfton 1)•WN Windsurf Teams22-15 UTF.Rio 4 spaces...
|
PhpStorm
|
faVsco.js – HandleHubspotRateLimit.php
|
NULL
|
18588
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiectD MeetingBo1v Middleware© PlaybackController.php© CachedCrmServiceDecorator.php© kateLimitea.ongD StreamingRemoteMatch.pnp© Job.php_ leamD Telephony(C)PaqinationState.phpC) MatchCrmData.phpC) CrmObiectsResolver.pho© ProviderRateLimiter.php© PaginationConfia.phpv D Userclass HandleHubsootRateLimitc) ChangeEmailjob.phpDeactivateUserJob.ph© DeleteScheduledUser/ 23@ SetupDefaultSavedSe: 24@ SvncTolntercom.phppublic function handle(object Sjob, callable Snext): voidtry 1Snext((5100)"} catch (RateLimitException $e) {Sdelav = maxc value: self::MIN RETRY DELAY, min(Se->aetRetrvAfterolvalues: self.: MAX RETRY DELAYD"c) suncirop anhat.ono(C) SvnctoUserPilot.oho// Add jitter to prevent thundering herd problem by randomizing retry timesSdelay += random_ int(0, self::JITTER_SECONDS) :© BaseProcessingJob.phpC)Dummv.lob.ohoSattemnts = Cioh-Sattemnts0.© ImportRecallAlRecordings so(cImnortRemoteTrack.loh.ncloh nhnif (Sattempts <= 3| Sattempts % 10 === 0) 1Log::info( message: '[HandleHubspotRateLimit] Rate limit caught, releasing job with delay'. ['job_class' => $job::class,C).lohDisnatcher nhn© JobDispatcherinterface.p 34© PurgeSoftDeletedOpportu• SqsVisibilityControl.phpv D ListenersvM Activitioc"actempus → sactempus.'retry_after' => $e->getRetryAfterO,'delay' => $delay,vM Activity DrovidorSiob->release ($delay):Local ChandesChanges 12 tilesShelConsole,Log x= env.locall aod© Client.php app/Services/Crm/Hubspot(C) HandleHlubsootRateLimit.oho aoo/.lobs/Middleware© HandleHubspotRateLimitTest.php tests/Unit/Jobs/Middleware(1HubsootClientinterface.oho aon/Services/Crm/Hubsoot© HubspotPaginationService.php app/Services/Crm/Hubspot/Pagination© JiminnyDebugCommand.php app/Console/Commandsphp logging.php config© MatchActivityCrmData.php app/Jobs/Crm© PaginationState.php app/Services/Crm/Hubspot/Pagination@ Patol imitEycention nhn ann/Eycontione+ → @ Side-by-side viewer8 35f036ac app/Exceptions/RateLimitException.phpDo not ignoreHighight words -X 1 ?declare(strict types=1)namespace Jiminny Exceptionsclass RateLimitException extends LoqicExcention@t Datel imitEycentionTest.php tests/Unit/Exceptions/ Unversioned Files 9 filesE.env.nikilocal appE env.other appС) CanAccessAiReportsTest.php tests/Unit/Policies© CreateMockAskJiminnvReportResultCommand.php app/Console/Commands/RepE favicon.ico publidE ids.txt appT raw sal querv sal [EMAIL] app/Console/Commands/Crm/HubspotM_WE?HOOK FILTERING IMPLEMENTATION.md a00Tacts naccod. 12 (todav 12:02A SF (jiminny@localhost]4 HS_local jiminny@localhost]# console [PRol)# console [eu)• Preparation tor kerl.. In 2o m100% Lz• Mon 11 May 14:35:30HandleHubspotRateLimitTest v+0 ..A console [STAGING]171217131/14A1Av1715171617171/ J.[CREDIT_CARD][2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {"account_id":1372, "updated_ wY454%Y[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {"total":3, "fixed":0,"failed":3} {"correlation[2026-05-11 11:20:48] local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting command {™[2026-05-11 11:20:48] local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting command {"[2026-05-11 11:20:48] local.INF0: [HubSpot Journal Command] Starting polling service1"correlac1on10: 754015[2026-05-11 11:20:48] local.INF0: [HubSpot Journal Polling] Service starting {"memory_ limit":"256M" "max execut2020-05-11 11:20:48 Local. LNFU.Hubspor Journal Polling Acqulred polling lock ""explres at: 2020-05-11115[2026-05-11 11:20:48] local.INF0:2026-05-11 11.20.48 LocaL.LNFU:Jaminny console commanoscomremory usage tor commano ""commano":"7[2026-05-11 11:20:49] local.INFO: Jiminny\Console\Commands\Command: :run Memory usage for co2826-05-11 11:20:49 Local.INF0:[2026-05-11 11:20:49] local. INF0:[HubSpot Journal Pollingl No data2826-05-11 11:20:53 Local.INF0:Jaminny Console Commands Command:: runMemory usage before starting command[2026-05-11 11:20:53] Local.INF0: Jiminny\Console\Commands\Command: :run Memory usage for command {"command" : "cr2026-05-11 11-20:5411Local.INFO:2026-05-11 11:20:56]1local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting command 1*[2026-05-11 11:20:57] local.INF0: Jiminny Console\Commands\Command::run Memory usage for command {"command": "cr[2026-05-11 11:20:591 local. INF0: [HubSnot Journal Pollinal No data"correlation 1d"."954d156d-8a4f-4592-a046Hubspot Rate Limit Re3. Middleware behavior is healthy vSamole line:[HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"attempts":1,"retry_after":1,"d•delay=5 is retry after (1) + jitter (random 0-S) = within [1, 61•Other releases in the log show delay: 4, 5 etc. - jitter is varying as expected•All attempts:1 - no jobs reached 2+ retries, meaning subsequent attempts after release succeeded on the next pass4. No anti-patterns triggered V• Zero Failed to match GRM data lines = the instanceof RateLimitExcention filter in MatchActivitvCrmData::handlZero permanently failed lines = no job hit retryUntil - everything completed within window• Zero using default warnings = parseRetryAfter always extracted a known keyword from the messageWhat this means for productionEytranolatina to the 100k cconario.Cosho43% of rate-limits served from cache (3(7) — and that's at LOW load. At storm scale, this ratioI will return class RateLimitException extends RuntimeException to<> CodeClaude Opus 4.7 Medium2 differencesCurrent versiordeclare(strict_ types=1)*namespace Jiminny Exceptions:use Throwableclass RateLimitExcention extends RuntimeExcentionpublic function __construct(Strina Smessage =private readonly int $retryAfter = 1,Throwahil e Sarevious = nuipublic function getRetryAfterO: intnotunn may/Cthic-snotnvAfton 1)•W Windsurf Teamc22-15 UTF.Rio 4 spaces...
|
PhpStorm
|
faVsco.js – HandleHubspotRateLimit.php
|
NULL
|
18599
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-limProiect© BatchSyncCollectolhuospot/service.onpT SyncCrmEntitiesTrait.phpc) CachedCrmServiceDecorator.ong•JiminnyDeougcommane.onge balchsynckealsseo closeaDealstagess)MatchactivityermData.pngDealrielasservice.gc)Decorateacuivilv.or© FieldDefinitions.phrC) FieldT vpeconvertee Hubspotclientinterc) Hubspotlokenman© PayloadBuilder.phpC) RemotecrmobiectrP ResponseNormalizec) Service.onrC)SvncFieldAction.onC) SvncRelatedActivitC) WebhookSvncBatclv MintearationAorM AcceccorsConfigDDTO• M SiltersD JobsM ProspectSearchStrW service lraits© DataClient.php© DecorateActivity.phLocalSearch.pheu Localsearchinteria© RemoteSearch.phpc) Service.phpv D Listeners© ConvertLeadActivitc) PurceLookuocache> M Metadata> MiarationPioedrivev Salesforce• D FieldsM OnnortunitvMatcheMOnnortunitvSvneStM ProsneetSearchStr.• M ServiceTraitcC) Client nhr© DecorateActivity.ph. Delete@biectsTrait© FieldDefinitions.php© PayloadBuilder.php© Profile.php© QueryBuilder.phpo RematchActivityonCrmObiectDetach.pngRateLimitexcepuioC) CrmObiectsResolver.pho() ProviderRateLimiter.phpC) PaqinationContia.phpclass Client extends BaseClient implements HubspotClientinterface253 0255259261|//277278281290• @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc* dreturn arrau The search response with 'results'.'paging' keys* Othrows RateLimitException When rate limit is hit* @throws HubspotException On API errorspublic function search(string SobjectType, array $payload): arraySendnoint = solf••RASE IIRI-|return Sthis->executeRequest(function ( use (Sendpoint, $payload) {Sresponse = $this->getInstance()->getClient()->request( method: 'POST', $endpoint, ['json' => $payload]):return Sresponse->toArrayO:}):* dchrows DealAp1Lxceptzon* ochrows crmexcentzonpublic function oetOpoortunitvßvld(strina Scrmid. array Sfields): arravtry{Sdeal = sthis->executeRequestfn0 => Sthis->aetNewinstanceO->crmO->dealsO->basicApiO->qetBvldoSdeal = sthis->aetNewiinstance@->crmo->dealso->hasi.canto->aetBvitdimolode @ separator: " ", Sfields)} catch (DealAniFycention Se) $Sthis->loa->info@*Hubsnot Failed to fetch onnortunity'.?'crm_id' => $crmId,'reason' => $e->getMessage)thnow So.if (! Sdeal instanceof DealWithAssociations) {throw new Crmexceptionm:'Deal not found'):A6 VA.4 HS_local (iminny@localhost]# console [PKoD)A console (EU]A console [STAGING][2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {w19A"Vace".L"Inu,or May 2020 14.21.10 bMl"J"CF-Ray":"9t80deb8dbo0dcsa-S0F".."Strict-Transport-Security":"max-aqe=31536000* 1ncLudesubDomains: preload")."server-timing": ["hcid;desc=|"019e02d0-6fd8-7812-bdba-885b7ccb3ee3)","x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookie":["__cf_bm=StUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTg07-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],\"url\":"https:\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZ\"group\":\"cf-nel\",\"max_age\":604800}"],"NEL".L"1\"success_fraction\":0.01,("max agel ":604800}"]"Server": ["cloudflare"]}} {"trace_1d":"C/ab8565-905t-4604-9405-0e5b551e5545'5CascadeHubspot Rate LimitThought for 5s ›Read Client.php #L86-200b Client.phpVerify nothing broke:Command docker. tailhlPreparation tor kerl…. In oym100% Lz• Mon 11 May 14:01:59HandleHubspotRateLimitTest v+0 ..lets simplify it, just call it parseMessage and skip policy al together+17 -35I Il 1III111 1Ask anvthina (84L)Claude Onus 4.7 MediumTects naccod. 12 /50 mlWN Windsurf Toams 250-1UTF.8io 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
18183
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-limroledey© BatchSyncCollectolyhuospotsyncstrategybase.ongCachedcrmservicebecorator.onp© ProspectCache.phpe balchsynckealsseС Cпескапокetrукemotematch.ongccloseaDealstagess @ MatchacuivitycrmData.ong© ermactivilyservice.phgDealrielasservice.gc)Decorateacuivilv.or© FieldDefinitions.phrclass Cllent extends Baseclient 1mpLements HubspotcllentintertaceM |A2 A65 X1X1AC) FieldT vpeconvertee Hubspotclientinterc) Hubspotlokenman© PayloadBuilder.phpC) RemotecrmobiectnP ResponseNormalizec) Service,onoC)SvncFieldAction.onC) SvncRelatedActivitC) WebhookSvncBatclv MintearationAorM Accaccors)• D ConfigD DTO• M SiltersJobs• M ProcnectSearchStr.W service lralts© DataClient.php© DecorateActivity.phc Localsearch.oneu LocalSearchintertac© RemoteSearch.phpc) Service.phpv W Listeners© ConvertLeadActivitc) PurceLookuocache> M Metadata> Miarationa Pioedrivev Salesforce• D Fields• M OnnortunitvMatcheMOnnortunitvSvneSt897 (M ProsneetSearchStr.M ServiceTraitcC) Client nhr© DecorateActivity.ph. Delete@biectsTrait© FieldDefinitions.php© PayloadBuilder.php© Profile.php© QueryBuilder.phpououc tunction 1sunauthorizedzxcentionExcentionse: 000ureturn str contains(Smessage. "401 unauthorized')Istr contains(Smessage..'http 401') |1str_contains(Smessage, 'status code 401') |(orea match( pattern: • /\b401\b/' Smessage) &s str contains(Smessage, 'unauthorized')):* Validates and refreshes the access token if needed before API requests.* This ensures long-running processes don't fail due to token expiration.* @throws SocialAccountTokenInvalidExceptiony usagespublic function ensureValidToken: voidif (Sthis->oauthAccount === null) {Snewloken = sthis->tokenmanaqer->ensureval1dloken(sth1s->oauthaccountrif (SnewToken !== null) {sthis-›accessloken = snewloken:public function getConfigoreturn Sthis->confia:returns onlv active (archived=false)9 usadespublic function get0wners: arrayreturn $this->getNewInstance()->crm()->owners()->getALL();* apanam bool Sarchived* dreturn arrau<ownens/r71s usages40 lDally - Platrorm • now100% 4 • Mon 11 May 9:49:26U AskJiminnyReportActivityServiceTest v+0 ..11 1l1III=custom.log ^=laravel.logA SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKOb.# console leu)# console [slAGiNg)[2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {W19 ^V"neaders".?"Uace":L"Inu,or May 2020 14.21.15 6Ml"Jn"Transter-Encod1nq":"chunked")."Connection":"keep-alive""CF-Ray" : ["9f80deb8db60dc3a-SOF"],"Strict-Transport-Secur1ty":"max-aqe=31536008* 1ncludeSubDomains: preload")naccent-encodino""access-control-allow-credentials": ["false"]."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\","x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"So+-Cookie"." c+hm-Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To"."","endpoints\":[{"unl".httns:a.nel.cloudflane.com./nenon+|W/v42c=NVA1cVTPQfVm32anS0ixVF/sd2RI\"group)":\"cf-nel\","max_age\":604800}"],"NEL":["{\"success_fraction\":0.01,reportto. "cr-nel,"max age":604800}"]"Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sb6Yeab","trace_10":"C/AD8565-905t-4604-9405-0e50551e5545I IIllC;CascadeHubspot Rate Limit Reif (Sretry) {sleenab:return $this->searchCallsForPeriodByPage($from, $to, $page, false);return null;Why this is now broken/suboptimal with the new client1. Covehes Encef lint Couk Be 1,0, o.) l tecuro d: we aiays sCcep ion that The now clioni carefly consirveted win rety after fiom headers in2. For tng ie eae a mpy. The mont cen meon tw eslor potiea ehe Ail oer ert - e oat , t agoia os im rninco tf aloe eaty and tee siently3. The Sretry = false recursive flaa is fragile. Once we pass retrvefalse. on the second 429 we just return null without distinguishing rate limit from reaSuggestionCatch Ratel imitFycention cnecificallv and uco detRetrvifterd.D phppublic function searchCallsForPeriodByPage(Carbon strom, Carbon sto, int Spage, int sretries = 2)trydSpay Load = Sthis->payLoadbu1lder->generatesearchcaulsByPer1odPayLoad(Strom, Sto, Spage);return sthis->client->search'cals". Soavload):} catch (RateLimitException $e) {throw se: // hubble un: caller decidec whether to fail the imnort or releace the iohlsleen min Se->aetRetrvAftero, 30)):return $this->searchCallsForPeriodByPage($from, $to, $page, $retries - 1);} catch (Exception Sexception)$this->logger->info('(HubSpot) Search calls for period failed', (...]);recurh nuet;only swallow non-rate-limit Tallures as beroreEven better — if searchCallsForPeriod is called from a queued job (which it typically is for backfills), don't swallow at all. Let RateLimitException bubble to thejob middleware (HandleHubspotRateLimit), which already handles release-with-delay properly. The in-process sleep() wastes a worker for up to 30s and ties upHorizon throughput.Let me check if it's job-driven:Coorchod co!JingURLToken in app (.php) (5)Both callers are backaround workflows (a Console command and an internal service). So letting RateLimitException bubble to the iob middleware is the cleanestanswer - drop the sleep(1) retry path entirely and rely on HandleHubspotRateLimit:: release(Sdelay)TL:DR for #2: the sleep(1) predates the new structured exception. Either:• Catch RateLimitException and use getRetryAfter() (replace blind sleep(1) ), orLet it bubble to the job middleware and delete the in-process retry - preferred3. Whv matchExactlvBvEmail() Has No Rate Limit HandlinaCalle(erch d lstorPero itnypase/secrchdll ferpernod searchCalt9 eo dinguiLToten) in tnat rasie e vilt oniy tre 8 2i eas tre ered torm÷ « Code802•6UTF.8Po 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
15427
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-linProiecthlustCalll© HubspotSyncStrategyBase.php© ProspectCache.phpm PushSummarvToCrmRingCentral> M ZoomPhone*RateLimitexception.phpO AcuvilycnangeudtegeMatchermData.onooAssienownersnip.ong© ConferenceCrmMatchiC) PaqinationConfia.phpC DeleteActivities.pnp© DeleteTeamChurnDatamaxExcentionsX P Cc W .*гI Y:C) Delete l eamsketentiorclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUniqueC) HaraDeleteAcuivities.oc) HardDeleteAcuivity.on 10%c) keindexroraccouniJol© ReindexForLeadJob.pt 1z© ReindexForUserJob.pr 14e(C) RetrvActivitvSvnc.00.1lC) SvncActivitv.oho(C) TeardownStream.ohoM Ai AutomationM A Renorts> Audiov AutomatedRenorts(c) ReauectGenerateAck.1(C) PequestGenerateRenc© SendReportExpiringSo 149Cenaike alalarlelelalntel© SendReportMailJob.ph 151(e CondDonarNatCanora 156> @ Calendarm crm~MDeleteC) DeleteAccountJob.l 154(@ DeleteContact.Job.r 157• DeleteCrmEntitvura 158C) DeleteLeadJob.pho 159© DeleteOpportunityJ 160C) VerivActivtvermin 161→ Euosoot> MSalesforce(C) AutoloaDelavedToCrm(C) CheckAndRetrvRemoti 173)(C) CreateFollowuoActivit 174C) CreateNotes.oho(c) MatchActivitiecToNow 174(C) MatchActivitvCrmData 172(6 Note@biect nhn(C) SaveActivitv nhnpubuic tunccion hanaleuSconnection-›transaction(function () use (Sactivity, $crmActivityService, SactivityRepository) { .'stage id' => Sactivity-›aetStageO?->aetido.} else 1Log: : info( message:'[MatchActivityCrmData] No CRM match found', ['activity' => $this->activityId,'remote_search' => Sthis->remoteSearch,}):} catch (Throwable $e) {Log: :error('[MatchActivityCrmData] Failed to match CRM data', ['activitv' = Sthis-›activitvidi'remote_search' => $this->remoteSearch.pycentiont => Se->aetMeçcane@lAccept Rejectif (! $e instanceof RateLimitException) {Log::error( message:'[MatchActivityCrmData] Failed to match CRM data', [aculvity = scnis->aculvicyLo"remotesearch" → schis->renotesearch'exception' => $e->getMessage0'trace' => $e->getTraceAsString)throw sepublic function failed(Throwable Sexcention): voidf...?orivate function resetcrmMaoninasdActivity Sactivitv.ActivitvRenository SactivitvRenository): void 1Sactivitv->undatediicontart 1,1of 5 edits +Accept File &+X Reiect File t86+ 3 of 3 files →olner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)A SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKOb.# console [euJ# console [slAGiNg)2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {MMi9 AY"Vace". "Inu,ur May 2020 14.21.19 6Ml"Jn"concenc-lyoe. apolicacion/ison.charser=utt-on"Transfer-Encoding": ["chunked"]."CF-Ray":"9t80deb8dbo0dcsa-SOF","Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncludeSubDomains: preload")acceot-encodino"."access-control-allow-credentials": "false"i."server-timing": ["hcid;desc=|"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfr;desc=|"9f80deb8e7c6dc3a-1AD\""J,"x-content-tvoe-ootions":"nosniff"."x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookip"." c+hm=Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Report-To":["{("endpoints\":[{("url\":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWI("group\":\"cf-nel\".("max_age\":604800}"],"NEL"L"1"success_fraction\":0.01,reportto. "cr-nel,"max agel ":604800}"].'Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sboyeab","trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545supoont Dally • In 3n 1m100% Lz• Mon 11 May 11:59:03AskJiminnyReportActivityServiceTest vCascadeHubspot Rate Limit Re+O •was suppressed by retryUntil. Dead code. Removed and replaced with SmaxExceptions = 3 wnich nas aitterent, usetul semantics (caps real bugs, not retries).Net effectThe middleware is now single-purpose: catch RateLimitException, release with sensible delay + jitter, sample logs. Everything else is delegated to mechanisms thathandle it more elegantly:ConcernWas handled byNow handled byPer-call rate limitReal APi call → 429 - releaseRedis cache circuit-breaker (98% reductionTotal retry time capMAX RATE LIMIT ATTEMPTS countDAILY exhaustionSpecial Siob→>failo branchPermanent tail logginaMultiple pathsEach concern has exactiv one responsible mechanism3.The if (i <e inctanceof Ratel imitFxcention) block• php} catch (Throwable $e) ‹if (! $e instanceof RateLimitException) {Log::error('[MatchActivitvCrmDatal Failed to match CRM data'. ['activity' = $this->activityId,'remote search' = Sthis->remoteSearch,sage()urace = se->geciraceasscring),throw Se.This catch exists for error loaaina with lob context. It does two thinasa) For real exceptions: loa a contextual erronWhen something actually goes wrong (e.g., DB timeout, null reference bug, CRM SDK panic), this block produces a log entry that includes.• activity — which activity ID failedremote search - which mode (local vs remote searchexcention — the messaae.trace - full stack traceWithout this catch, the exception would bubble to Laravells Worker, which loas onlv the generic "Job classamethod failed" message. You'dllose the activity. ID.andcontextual info that's invaluable for debugging "why did THIS job fail?"(b) For RateLimitException: skip the noisy error loaRate-limit exceptions are expected, transient, and frequent. In a 100k-job storm, you might get hundreds of thousands of them. Logging a 5-50 KB stack trace perView allann/lohe/Crm/MMatchActivitvCrmData.nhn 412-9ann/lobs/Middleware/M HandleHubsnotRatelimit.nhn +12-20ot/m Client.oholReiect alllAccent alliAsk anvthina (&4L)+ « CodeClaude Onus 4.7 MediumWN Windsurf Teams160•6UTF.8io 4 spaces...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
NULL
|
16483
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-linProiect© SyncRelatedActivityManager.php© BatchSyncCollectolyhuospotsynestrategybase.onp© ProspectCache.phpe balchsynckealsseo closedDealstagess* RateLimitexcDealrielasservice.gc)Decorateacuivilv.or© FieldDefinitions.phrC) ProviderRateLimiter.phpC) PaqinationConfia.phpC) FieldT vpeconverteclass Cuient extends Baseclient imolements Hubspotc ientinterfacee Hubspotclientinterc) Hubspotlokenman© PayloadBuilder.phpC) RemotecrmobiectnP ResponseNormalizec) Service.onrC)SvncFieldAction.onC) SvncRelatedActivitC) WebhookSvncBatclv MintearationAorM AcceccorsConfigD DTO• M SiltersJobs• M ProcnectSoarchStr.W service Iralts© DataClient.php© DecorateActivity.ph(e) LocalSearch.onp• LocalSearchInterfa© RemoteSearch.phpc) Service.phpv W Listeners© ConvertLeadActivitc) PurceLookuocachel> M Metadata> Miarationia Pioedrive311v Salesforce• D FieldsM OnnortunitvMatcheMOnnortunitvSvneStM ProsneetSearchStr.) M ServiceTraitcC) Client nhr@ DecorateActivity.ph. Delete@biectsTrait© FieldDefinitions.php© PayloadBuilder.php© Profile.php© QueryBuilder.phpnublic functiongetOpportunityByld(string Scrmid, array $fields): arrayif (! Sdeal instanceof DealWithAssociations) {"Deal not found')»'1d => Sdeall->detiido.oroperties' => Sdeal->aetPronertiesoassociations' => Sdeal->aetAssociationsoGenenic hatch nend method fon HuhSnot nbiects* @param string $objectType The object type ("deals',"comoanzes,"contacts!)* @param array<string> ScrmIds Array of HubSpot object IDs (max 100)* @param array<string> $fields Array of property names to fetch* @return array<string, array> Array keyed by CRM ID with object datoprivate tunction batchreadubnects(strina sobnectlype, array scrmids, array Stields: arrayif (empty(ScrmIds)) {returnSthis->vaLidateBatchSize(SobiectTvpe. ScrmIds):Sthis->ensureValidtokeno:trytSbatchConfia= sthis->createBatchconfiourat.ion/Sobiecttvoe):$batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmids, $fields):Sresnonse = Shatchtonfiartant:->roadlShatchReadRequest).sthic-s1oARAtikpodta tk(< v Accept File *~ X Reject File- (P8<a))• < 1 of 3 files →lelner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)MPIIШ= custom.loa XA SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKob.# console [euJ# console [slAGiNg)2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {headers'1"Vace". "Inu,ur May 2020 14.21.19 6Ml"Jn"concenc-lyoe. apolicacion/ison.charser=utt-on"Transfer-Encoding": ["chunked"]."CF-Ray":"9t80deb8dbo0dcsa-SOF","CF-Cache-Status": L"DYNAMIC"J,"Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncludeSubDomains: preload")nacceot-encodino"."access-control-allow-credentials": "false"."server-timing": ["hcid;desc=|"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfr;desc=|"9f80deb8e7c6dc3a-IAD\""],"x-content-tvoe-ootions":"nosniff"."x-hubsoot-correlation-id":"019e02d0-6fd8-7812-bdba-885b7ccb3ee3""Set-Cookip"." c+hm=Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-[IP_ADDRESS]-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To".f"s"endnoints".("url\":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RV("group\":\"cf-nel\".("max_age\":604800}"],"NEL"L"1"success_fraction\":0.01,reportto. "cr-nel,"max agel ":604800}"].'Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sboyeab","trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545— 30=31suppont Dally • In sh 14m100% 2• Mon 11 May 11:46:58U AskJiminnyReportActivityServiceTest -CascadeHubspot Rate Limit Re• RateLimitException.php+0 ..D Cii+7-12Now the middleware - drop DAILY_LIMIT branch, drop MIN RETRY DELAY to 1, keep jitter:• HandleHubspotRateLimit.php+3-15Now MatchActivitvermdata — collapse the two catches into one with instanceof• MatchActivityCrmData.php+8-8All changes applied. Final state:Summary of this round of changesFlleChangeReasorRateL1m1tException.phpRemoved policy tield & methodsMiddleware doesn't need it; cache TTL handles DAILY naturallyclient. php:: executeRequestcache stores scalar int retry after) instead of arraySimpler; no policy to trackClient. php::executeRequestDrop policy from RateLimitException constructorMatch new exception signature; still log policy for observabilityHandleHubspotRateLimit.phpRemoved DAILY_LIMIT branchretryUntil + long cache TTL handle it; saves complexityHandleHubspotRateLimit.phpMIN_RETRY_DELAY 5 →1Honor HinhGnotle setunl cianal. littor dooc tho hord nrotostionHandleHubspotRateLimit.phpNamed JITTER_ SECONDS constantSelf-documentingMatchActivitvGrmData.nhnCollansed dual catch into sinale catch + instancenfMore readable. no awkward emntv rethrow blockHow DAILY_LIMIT now flows (no special case needed)1. HubSpot returns 429 with nolicvlane: DATLY LTMIT2. parseRetryAfter sees no Retry-After header, falls through to policy table → returns 600s (the DAILY LIMIT default I left in parseRetryAfter)3. Cache populated with TTL=600 (10 min)4. All subsequent requests fast-fail via cache for 10 min - no API calls5. Middleware releases iobs with delav 1-6s (cheap cvcles, all hit cache)6. After 20 min retrvlintil eynires @) iohs nermanent-fail naturallv7. No special branch. no siob->fail(). no exception fieldThe system converges to the same outcome with less code.Re-running the 100k scenario (delta from previous run)Material changes vs the previous version• Job retry cycle is faster (delay 1-6s instead of 5-10s) → ~2x more queue cycles per second per worker• More cache hits per second (since cvcles are faster) — but cache CETs are cheao (~0.1ms)I•Same throughput ceiling (5 successful calls/s — HubSpot's limit)• Same final outcome (~9k succeed, ~91k fail at T=30min)|MetricPrevious (this round)This roundSucceccful inhs in 20mina.o00O 000Wasted HubSoot APl calls~10.800~10.800Job non evcles/sed~50-100~100-2503 files +73 -43)Accent alliAsk anvthing (84.L)+ « CodeClaude Onus 4.7 MediumW Windsurf Teams04-25 UITE.Rio 4 spaces...
|
PhpStorm
|
faVsco.js – HubspotPaginationService.php
|
NULL
|
16369
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeKeractorFV faVsco.js%9 JY-20725-handle-HS-search-rate-limit-Proletey© BatchSyncCollectore balchsynckealsse© HubspotSyncStrategyBase.phpCachedcrmservicebecorator.pnp© SyncRelatedActivityManager.php© ProspectCache.phpc closeaDealstagess© CrmActivityService.phgDealrielasservice.gc)Decorateacuivilv.or© FieldDefinitions.phpC) FieldT vpeconverteclass Cllent extends Baseclient 1mpLements Hubspotclientintertace=| A2 A65 X1X1Aououc tunction cetuwnersArchivedcoool Sarchaved = true): arrave Hubspotclientinter$owners[] = Owner: :create(Sresult);} catch (Throwable $e) {c) Hubspotlokenman© PayloadBuilder.phpSthis->log-›error(' [HubSpot] Failed to process owner data', ("result = sresulcC) Remotecrmobiectr© ResponseNormalize927= se-›gechessageo.c) Service,ono© SyncFieldAction.phcontinueC) SvncRelatedActivitC) WebhookSvncBatclv O IntegrationApp> O AccessorsSthis->log->error('HubSpotl Failed to fetch owners'.935ConfigODTOD FiltersD JobsDProspectSearchStra=> se->detlessadeOrreturn []:W service lralts© DataClient.phpreturn $owners;Local ChangesConsole,Side-by-side viewerDo not ignore+Highlight words +X 1S t ?roordor calle 1 filo Mamonte and› Move non paginator search calls to client-› search 1 file, 2 minutes ago> Almost ready one call to be tested 8 files, 8.05.26, 14:54› hubspot rate limit temp checkout 17 files, 8.05.26. 11:48› saved search delete 1 file, 27.04.26, 14:58> expiration message 6 files, 27.04.26, 9:23> UP dev logs 1 file, 24.04.26, 12:02› tem test 1 file, 24.04.26, 10:36> user transformer 3 files, 23.04.26, 15:43> email ready 9 files, 23.04.26, 15:31> Email on not sent 5 files. 21.04.26. 19:38mbase version aoo/.oos/Activitvimoort/matchcrmbata.ongSthis->loqMessage ('Resolvina CRM obiects'):SrateLimiter->incrementRequestCount(Sactivity->getCrm());Sermohnects = ScrmobiectsResol ven->resol.vesromialuSthis->ermService. sthis->calDr> Planhat track interest event 2 files. 21.04.26. 13:56if (empty(Scrm0bjects)) {$this->LogMessage('Could not resolve CRM objects, retrying');$this->release(3600);> UP trackina controller 1 file. 20.04.26. 9:22Don't send if no s3 path (fix vodate to failed) 1 file. 17.04.26. 12:56.> FEATURE CHANGES 3 files. 6.04.26. 13:40web.php fix router 1 file, 1.04.26, 9:23• Ss Tvne error fiy 1 fllec 21 02 26 12:261• neyt automated renort tack 1 file 21 02 26 10-54> wha knows 2 files 24 03 26 14:15temn fix 22 filos 24 02 26 10-51.env local not sure why it was changed 1 file, 24.03.26, 10:04Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (1 hour ago)E custom.log xE laravel.logA SF jiminny@localhost]A HS_Jocal (jiminny@localhost]# console [PKOb.# console leu)# console [slAGiNG)[2026-05-07 14:21:15] Local. INFO: [Hubspot] DEBUG Getting headers {V19 .V"neaders".?"Uace":L"Inu,or May 2020 14.21.15 6Ml"Jn"concenc-lyoe. apolicacion/ison.charser=utt-on"Transter-Encod1nq":"chunked")."Connection":"keep-alive""CF-Ray" : ["9f80deb8db60dc3a-SOF"],"Strict-Transport-Secur1ty":"max-aqe=31536008* 1ncludeSubDomains: preload")naccent-encodino""access-control-allow-credentials": ["false"],"server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\","x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtmOY-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapj.com; Http0nly; Secure; SameSite=None"],"Report-To":["{\"endpoints\": I\"urz\":\"https:|\\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RW\"group\" :\"cf-nell",\"max_age\":604800}"],"NEL" : ["{success_traccion.0.01rreportto. "cr-nel,hoblSupport Daily - in 4h 51mAskJiminnyReportActivityServiceTest100% C47 • Mon 11 May 10:09:08CascadeHubspot Rate Limit Re+0 ..3. We just made an additional API call while already rate-limited - amplifying the pressure4. If matchByPhone returns nothing too, the activity gets persisted as "no CRM match" even though the contact exists in HubSpot. Wrong data, no signal to retry.The middleware on MatchActivityCrmData cannot help, because the 429 was already swallowed before any RateLimitException could be raised.how serious is it reallv?In practice - probably rare, but still wrong. The GET-by-email endpoint shares HubSpot's portal-wide burst quota (100/10s on Free/Starter, 150/10s on Pro+200/10s with the API add-on), which is much more generous than the search endpoint (5 RPS). 429s on this endpoint are uncommon. But:• During heavy backfills they do happen — the same worker pool that's hammering search will also be hammering getContactByEmail• When it does happen, the cost is silent data corruption (wrong CRM match) plus extra wasted API calls falling through the cascade.What you should decideGiven vour simplification (only Client::searcho raises RateLimitException, onlv MatchActivityCrmData middleware handles it, vou have two reasonableoptions:Option A - Accept the gap, document it. The PR's scope is "handle search endpoint rate limits" since that's where 429s actually hurt. Email-by-id 429s are rareand currently treated as "not found" - same as before this PR. Nothing breaks, you just don't fix this particular gap. Add a TODO/follow-up ticketOntion B - Wrao_netContactByEmaillin executeRenest@_too.Five-line chance. then the email-match.sten_would also_throw.RateldimitExcention middlewarereleases the job. This is cheap and removes the silent-corruption risk for that one method. You don't need to touch getContactById/getOpportunityById/etc.because those aren't on the MatchActivityCrmData hot path.Mwrecommendation.OptionB.tsiattinvaddiiion.that closes.the matchina cascade.stirststep.whichls.the.mostchitpath. withoutrt.theinew.midclleware missesthe most common entry point of MatchActivityCrmData's CRM lookups.O phpAsk anything (2AL)+ «> CodeClaude Opus 4.7 Medium2 differencesê Shelved version112116Sthis-> oqMessage('Resolvina CRM obiects'):Scrmobjects = $crm0bjectsResolver->resolveFromCall(Sthis->crmService, $this->call):SrateLimiter->incrementRequestCount(Sactivity->getCrmO):iflemntv(Scrm0biects)Sthis->logMessage('Could not resolve CRM objects, retrying');Sthis->nelease (3600)•W Windsurf Teams 929:1 UTF-8 P. 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
15703
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeKeractorWindowFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitroledey© HubspotPaginationService.php© BatchSyncCollectolC HubspotSyncStrategyBase.pngCachedcrmservicebecorator.onp© ProspectCache.phpe balchsynckealsseС Cпескапокetrукemotematch.ongc clientone© ClosedDealStagesS © MatchActivityCrmData.php© CrmActivityService.phgDealrilelasservice.c© CrmObiectsResolver.phpc)Decorateacuivilv.or© FieldDefinitions.phrclass Elzent extends Baseulzent implements hubspotelzentintertace42 465 M1 M1AC) FieldT vpeconvertee Hubspotclientinterpublic function ensureValidTokenO: voidc) HubspotlokenmanC) PavloadBuilder.phpif (Sthis->oauthAccount === nulb) {C) RemotecrmobiectP ResponseNormalizec) Service,onoC)SvncFieldAction.onC) SvncRelatedActivitC) WebhookSvncBatclSnewlloken=sthis->tokenmanagen->ensureva.1dlokencsth1s->oauthaccountif (SnewToken !== null) {Sthis->accesstoken = Snewtoken:v MintearationAorM Acceccors> D ConfigD DTO> D FiltersJobs• M ProcnectSearchStr.891public function getConfigoreturn $this->config;M ServiceTraits/I returns only active (archived=false)© DataClient.php9 usagesLocal ChangesConcole yLog X40• suppont Dally • In 4h 03m100% Lz• Mon 11 May 10:07:11AskJiminnyReportActivityServiceTest v+0 ..A SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKob.# console leu)# console [slAGiNg)[2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"neaders".?"Uace":L"Inu,or May 2020 14.21.15 6Ml"Jn"concenc-lyoe. apolicacionison.charser=utt-on"Transter-Encod1nq":"chunked")"Connection":"keep-alive""CF-Ray" : ["9f80deb8db60dc3a-SOF"],"Strict-Transport-Security":["max-aqe=31536000: includeSubDomains: preload"].accent-encodino""access-control-allow-credentials": ["false"]."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\","x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Sot-Cookie"." c+hm-Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtmoV-1778163675-1010.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To".r"*"endnoints"."unl".httns:la.nel.cloudflane.com./renon+W/v42c=NVA1cVTPQfVm32anS0#xVF/sd2RN"group\":\"cf-nel\","max_age\":604800}"],"NEL":["{success_traccion.0.01rreportto. "cr-nel,CascadeHubspot Rate Limit ReClient.php:516-523}catch (ContactApiException $e) ‹Sthis->log→>info('(Hubspot] Failed to fetch contact', ['email" => Semail,'reason' => $e->getMessage(),return [];It returns [). From the job's point of view, that's identical to "this email is not in HubSpot". So1. matchExactlyByEmail silently swallows the 429.2. The cascade falls through to matchByPhone (another HubSpot API call, this time the search endpoint).3. We just made an additional API call while already rate-limited — amplifvina the pressure.4. If matchByPhone returns nothing too, the activity gets persisted as "no CRM match" even though the contact exists in HubSpot. Wrong data, no signal to retryThe middleware on MatchAct ivitvCrmdata cannot helo, because the 429 was already swallowed before anv RateLimitExcention could be raisedHow serious is it reallv?In practice - probably rare, but still wrong. The GET-by-email endpoint shares HubSpot's portal-wide burst quota (100/10s on Free/Starter, 150/10s on Pro+200/10s with the APl add-on). which is much more aenerous than the search endooint (5 RPS). 429s on this endooint are uncommon. But:• Durina heavy backfills they do happen — the same worker pool that's hammerina search will also be hammering getContactByEma i1.Ask anything (&AL)+ <> CodeClaude Opus 4.7 Medium+0|+→?No differencesW Windsurf Teams 885:63 UTF-8 P 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
15652
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeLaravelKeractorFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiect v=.env.qa=.env.root=.env.staging=.gitattributes.gitignore=.php-cs-fixer.cachephp.php-cs-fixer.dist.phpT SyncCrmEntitiesTrait.phpC) CachedCrmServiceDecorator.ong©) HandleHub© RateLimitException.php© PaginationConfia.phdclass Cllent extends Baseclient 1mpLements Hubspotclientintertacepnp.onpstorm.meta.pnpE.phpunit.result.cacheE.prettierignoreE.windsurfrulesphplde nelper.ohgphpldenelpermodels.ono125php aruisan& composer.ison127composer.lockdependencv-checker.isondev.isonEids.txt=intection.ison.distMIINSTALL.mdMIINTERNAL WEBHOOK SETUP nliminny storadeMtlicenses.mdM Makefilenackade-lock iconE phpstan.neon.dist= nhnstan-haceline neon137<)> phpunit.xml12 raw sol query.so,MLPEADME md< sonar-project.properties= test.py‹> Untitled Diagram.XmiJs vetur.config.isMIWERHOOK CIL TEDING IMDICM147> ih External Librariesv E Scratches and Consolesv @ Database Consoles149V AEU151Aconsole IEUliA DEAL RISKS (EU1DITEUTAEU (EUT155v diminnv@localhostiDi lliminnv@localhostHS local tiiminnvalocalhe#Ss timinnvolocalhostlA zoho dev fiiminnvGlocallv A pron# concole [pRonllTacts naccod. 12 (todav 12:02nubu1etunction 1shubspotrateuimithrowable sel: 000l11 $e instanceof \GuzzleHttp\Exception\RequestExceptionreturn (int) $e->getCode === 429:recurn talsepubunc function parseRetrvAfter(Throwable Se: 1nt1f method existsSe.qetResponseheaders'?Sheaders = $e->getResponseHeaders() ?: []:svalue = Sheadersl'Retry-After'J ?? Sheadersl'retry-after"J ?? null;if (is arnav(Svalue)) {Svalue = Svalueldl 22 null.if (is_numeric($value)) 1return (int) $value;Smessage = strtolower(Se->getMessageO):if (str_contains(Smessage, 'daily')) {recurn o00.if (str_ contains(Smessaqe, 'ten secondly')) {recurn 10if (str_contains(Smessaqe, 'secondly')) {return 1Sthis->loa->warnina('[Hubspotl No retry-after header or known message, usina default'. [l'exception_class' => get_class($e),public function parseMessage(Throwable $e): stringOhuospot/serwice.onpProviderkateLimiter.phg÷ | A2 A67 X3 ^ v 1571158159161165166— 167169169176=179—17417617818018121=182=183=184—185186_ 187188— 196192=193≤19519728E292$0hel"Preparation tor kell... In 40 m100% L2• Mon 11 May 14:14:40HandlenubspotkateLimiclest v# console [PKol)A console leu)A console [STAGING]So jiminnyu Analyzing... ^ vf ho_local Uiminny@localnostPlaygroundselect * trom teams where 10 = 1elect * from users where team_id = 1;select * from team_features where team_id = 1:select * trom features:SELECT * FROM activity_searches where 1d = 1982; # 1981SELECT * FROM activity search filters WHERE activity search 1d = 1982SELECT * FROM activities WIERE uuid to bind'e9165696-086c-40d1-94d7-5e3802c27ccfD = vuid:SELECT * FROM groups WHERE id = 1439;SELECT * FROM Users WHERE group_id = 1439;select * from permissions; # 158select * from roles;select * from permission_role;select * from teams where id = 1;select * from groups g JOIN playbooks p 1..n<->1: on g.playbook_id = p.id where g.team_id = 1;select * from groups where id = 28;select * from playbooks where team id = 1:select * from playbooks where id = 179:select * from playbook categories where id = 1391;select * from users where id = 143:select * from crm profiles where user id = 143:select * from activities where crm confiquration id = 39 and type = 'conference'and crm_provider id IS NOT NULL ORDER by id descselect * from activities where id = 422003: # 00U04000000B6foMAC|SELECT ar.id, ar.uuid, ar.media type, ar.status, a.typeFROM automated report results anJOIN automated_reports a ON a.id = ar.repontidWHERE a.type = 'ask_jiminny'LTMIT 1OSSELECT * FROM automated_reports where id = 71;SELECT * FROM automated_report_results where report id = 71;UPDATE automated_reports set playbook_categories = NULL where id = 68;SELECT * EROM automated nenont resultslwhere id = 275;SELECT * FROM automated_reports order by id desc;SELECT * FROM automated_report_results order by id desc;colert + fnom activitv coanchoc wheno ucon id = 142.select * from ask anything prompts:SELECT 'automated report results'.* FROMTNNEP I0TM 'automatod nononteiautomated_report resultsautomated report results'. 'report id' = 'automated_reports'.'idUuee 1=1automated report results'. 'generated at' TS NOT NULLWN Windsurf Toams 201-1 UTF.R4 spaces O...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
18387
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeLaravelKeractorFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiectD Auth• AutomatedReportsC) UserAutomatedReportscontroller.ongc AutomateakeporiGent> D Calendarsv DCrmCreatenuagecreatedevent.pnpC) Kernel.phpc Accountupcalea.ono© ContactUpdated.php<?phpC) DetachActivitvObiect.r© LayoutModifiedEvent.declarelstrict tyoess.o:C) LavoutUpdatedEvent.r© LeadUpdated.phpc) OpportunityStageUpo:© OpportunityUpdated.pc) Pronllecreated.ononamesoace Jiminny Events AutomatedReports:USC• Jiminny Models AutomatedReport:class AutomatedReportGenerated© ProspectUpdated.php(C) RemoteCrmRecordDelM ElasticSearchM Grouospublic function __construct(public readonly AutomatedReport $automatedReport4...m imnortv M Nudaos© NudgeCreated.php) M OnnortunitiesPlavbooksD PlaylistsD SidekickmTeamsD TranscriptionMilcore© Event.php© EventDispatcher.phpv D Exceptions>C CmActivityProviderException@ [EMAIL]@ ApplicationException.ohp(5) AsvncElasticSearchUodal€ BadKevwordsQuervExcer( ConfiqurationExcention.o(4) CrmExcention.ohoCrmUndateSycention.ohr© DatabaseException.php@ DealPisksEycention.nhn© DomainException.php( EmailActivitvimnortEycen® ErrorDownloadingEmptyF) ErrorDownloadina Sile Sycig EiloNotEoundEvcantionn© FileSystemException.phpA Handlor nhr(@ HttnRodDoauoctEycontinA UtnRodDRematchActivityOnCrmObjectDetach.php© Hubspot/Service.phpOhubspot/service.pnp© SyncCrmEntitiesTrait.php© Job.php© RateLimitException.phpC) TrackAutomated Revori Generaledeventonp© AutomatedReportGenerated.php x© ClientTest.phpmA1 . vHAGAREEEAEAAANIM<S0 hll# Support Daily - in 4h 53 m100% C7. • Tue 12 May 10:07:21HandleHubspotRateLimitlestv# console [PKoDJ& console lEUllconsole [STAGINGIA SF [jiminny@localhost]A ho_local Uiminny@localnost[2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {V.19л"neaders".?"Date":["Thu,07 May 2026 14:21:15 GMT"]"Lontent-lype". appuicacion/son charset=utt-on"Transfer-Encoding": ["chunked"),"CF-Ray": ["9f80deb8db60dc3a-SOF"],"CF-Cache-Status":"DYNAMIC")"Strict-Transport-Security":["max-aqe=31536000: includeSubDomains: preload"].'access-control-allow-credentlals":"false")"server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfn:desc="9r80deb8ercodcsa-iAD"w."x-content-type-options": ["nosniff"],"x-hubsoot-correlation-id":"019e02d0-6fd8-7812-bdba-885b7cch3ee3")"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZẸXDZyHz2mBUFdzdo2gTHEs0kXMSẸShjK®hGYxNhU07-Mav-26 14:51:15 GMt: domainz.hubaoz.com: HttoOnlv: Secure: SameSite=None"."Renont-Toll•|"\"url\":\"https:|VAV/a.nel.cloudflare.com\V/report\V/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn30%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTz06FM4%2I\"max_age\":604800}"],INFI"•T"S"success_fraction)":0.01,"report_to\":\"cf-nel\",\"max_age\":604800}"]"Server": ["cloudflare"]}} {"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab" ."trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}W Windsurf Teams 9:7 UTF-8 f 4 spaces ®...
|
PhpStorm
|
faVsco.js – AutomatedReportGenerated.php
|
NULL
|
22460
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeLaravelKeractorTOOISWindowFV faVsco.js°9 JY-20725-handle-HS-search-rate-limiProiect© BatchSyncCollectole balchsynckealssec clientoneo closedDealstagessDealrielasservice.gc)Decorateacuivilv.or© FieldDefinitions.phrC) FieldT vpeconvertee Hubspotclientinterc) Hubspotlokenman© PayloadBuilder.phpC) RemotecrmobiectrP ResponseNormalizec) Service.onrC)SvncFieldAction.onC) SvncRelatedActivitC) WebhookSvncBatclv MintearationAorM Acceccors• D ConfigD DTO• M SiltersD JobsM ProspectSearchStrW service lralts© DataClient.php© DecorateActivity.ph(e)LocalSearch.onpu Localsearchinteria© RemoteSearch.phpc) Service.phpv D Listeners© ConvertLeadActivitc) PurceLookuocache> M Metadata> Miarationi> = Pioedrivev Salesforce• D FieldsM OnnortunitvMatcheMOnnortunitvSvneStM ProsneetSearchStr.• M ServiceTraitcC) Client nhr© DecorateActivity.ph. Delete@biectsTrait© FieldDefinitions.php© PayloadBuilder.php© Profile.php© QueryBuilder.phpTacts naccod. 12 (42 minutes aao)C) TrackAutomated ReportGeneratedzventonpT SyncCrmEntitiesTrait.phpCachedcrmserviceDecorator.ong© JiminnyDebugCommand.php © CheckAndRetryRemoteMatch.php© BadRequest.phpC) Kernel.php© PaginationState.phg184 G180192class Cllent extends Baseclient 1mpLements Hubspotcllentintertacepublic function parseRetryAfter(Throwable $e): intif (Spolicy === 'SECONDLY') {recurn1if (Spolicy === 'DAILY LIMIT') {Sthis->loq->warnina(' Hubspot) No retry-after header or policy name found. usina default'.'exception class' => qet class(Se).return10-2 usages•public function parsePolicy(Throwable $e): ?string1+i method pyictese.method: 'getResponseBody')) inpturn nunl•$body = $e->getResponseBodyO:if (is_string($body)) {$body = json_decode($body,associative: true) ?? 0:if (! is array($body)) {recurn null.Spolicy = Sbody['policyName'] ?? Sbody['policy'] ?? Sbody['context']['policyName'] ?? null:return is string(Spolicy) ? strtoupper(Spolicy) : null:oublic function aetMinimumAniVersionO: strinareturn self:: MIN APT VERSIONnuhidie Function aetinstanced• Sactorynetunn new Cactonvdil= Sthis-saccessTokenInauth?!= true(c) HubSpot/Service.onpoveryaeuvitycrmlaskJoo.ong© Job.php)PaginationConrig.pnpA3A70 V3AII II IIL MШ1: Support Daily - in 1h 16 m= custom.log= laravel.log X 4 SF [jiminny@localhost]& HS_local [jiminny@localhost]console [PRODweinsoleeeconsole [STAGINGIReceived 429 from APIXS Cc W.*L2026-05-11 10:41:16J local.INFO: Jiminny \Console \Commands \Command::run Memory usage before starting command 1"command":"mailbox: batch:proces1/0V10558BRUEEKAENn BONEIRImatScheomlel ESWARaB chatchneocess thostarrnaken Famo ta tcoel ошесватасы[2026-05-11 10:41:17] local.INF0: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1","processed":0} {"correlation_id":"ee9b9096-b:[2026-05-11 10:41:17] local.INF0: Jiminny \Console\Commands\Command::run Memory usage for command {"command":"mailbox:batch:process", "memoryBe[2026-05-11 10:41:21] local.INF0: Jiminny \Console\Commands\Command::run Memory usage before starting command {"command":"crm: sync-hubspot-obj12026 05-1 104221 80ENER Nmnn Tonso le Wommands VCommandeanun Memony usade for command ""commandi a"comasyne hubsnot-nbilectc""memor[2026-05-11 10:41:21] local.INF0: [SyncHubspot0bjects) Starting sync {"team":"b2b115eb-93ce-4d1b-929c-173757df8fba", "usage":24894088,"real_us[2026-05-11 10:41:21] local.WARNING: [HubSpot] Account not connected for user {"userId":"33e34a7a-1c02-4f04-87ac-22c3a385e6e3",[2026-05-11 10:41:21] local.INF0: [Crm0wnerResolver] Integration owner is not connected, attempting team members {"crm_provio[2026-05-11 10:41:21] local.INF0: [Crm0wnerResolver] No team members found with active crm connection {"crm_provider":"[2026-05-11 10:41:21]Local. INru.urmuwnerkesolver No cean member Tound wich acuive crn conneccion cril provlder."nu[2026-05-11 10:41:21] local.INF0: [SyncHubspot0bjects] Sync finished {"team":"b2b115eb-93ce-4d1b-929c-173757df8fba"id": 29}[2026-05-11 10:41:21]Local.LNFU: SyncHubsporUbnectS starting sync ""ceam": abae/408-dtao-4505-7a/t-84t4dtzbdbb[2026-05-11 10:41:21][2026-05-11 10:41:21]Local.INFU:[2026-05-11 10:41:211id": "d2cbelation id":"d2clcb4aff-14c0-474f-89[2026-05-11 10:41:211[2026-05-11 10:41:211urmuwnerkesolver Inreqratzon[HubSpotl Syncing opportunitiesmatched as Ckn uwner *"cn12026-05-11 10:41:211[2026-05-11 10:41:21]12026-05-11 10:41:211[2026-05-11 10:41:22]12026-05-11 10:41:22[2026-05-11 10:41:22]12026-05-11 19:41:221[2026-05-11 10:41:22]12026-05-11 10:41:221[2026-05-11 10:41:22]12926-05-11 19•41•221ocal.INFO.Hubspot Paqination comoleted"team_1d":2."endooint":"httos:/ap1.hubapn.com/crm/v3/001ects/deals/search[SyncHubspotUbjects) Starting syncLOCOLWARNIG.HubSoorAccount not connected fon user Cuusend":7ie3aac5-666-2005-2256-20051 2e6e319""account"AnmilLCrmOwnerResolver. Integration owner is not connected, attempting team members i"crm_providerCrmOwnerResolver Nolteam members found with active erm connection ("erm providen". "hubsno1d" :49}Lid" • 49?[CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspotSvncHubsnot0bnectsi Svnc finished _"team"."c6b9d6h0-h48d-4832-a68c-a57d60651888" "oroviden"bsnot" "stalocal.INFO: [SyncHubspotObjects] Starting sync {"team":"b2d49a54-b645-4637-a7ae-a86cfce6e8e4", "usage":24901688,"real_us1ocal WARNTNG• [HuhSnot Account not connected fon ucen lucenTdl:12ac0447f-3c8c-Lced-haeh-h/2ddh7hfa0hlun+i• oul71[2026-05-11 10:41:22]local.INFO: [Crm0wnerResolver] Integration owner is not connected, attempting team members {"crm_provide(2026-05-1119•41•221|TocalTNS0• [ComûwnenPecolven] Na toam memhenc found with active eom connection ficom nnoviden"l."hiid".42%[2026-05-11 10:41:22] local.INF0: [Crm0wnerResolver] No team member found with active crm connection {"crm_provider":"hu12026-05-11 10-1•221 1000 TNS0- Svncluhsnot0hdectal Svnc_finished Liteam".1h2d/0a5/chalschb37oa7ae-a8hefoebele/l "nnaid".421[2026-05-11 10:41:39] local.INF0: [HubSpot Journal Polling) No data{"correlation_id":"1f8f11e6-0cf5-49dd-b8d7-56f51ec27f8e" "trace_id":"0f0[2026-05-11 10:41:39] local.WARNING: [HubSpot Journal Polling] Maximum empty results reached, stopping {"empty_results":5,"ma›emntv nocultel[2026-05-11 10:41:39] local.WARNING: [HubSpot Journal Polling] Maximum empty results reached, stopping {"empty_results":5,"max empty results"[2026-05-11 10:41:39] local.INF0: [HubSpot Journal Polling] Service ending {"runtime _seconds":57, "total cycles":5,"files _downloaded":0, "empty[2026-05-11 10:41:39] local.INF0: [HubSpot Journal Pollingl Saved offset to database on cleanup {"offset"."019e15a9-9ea0-7da7-87bc-82592e3ccf[2026-05-11 10:41:391 local.INF0: [HubSpot Journal Pollingl Released polling lock {"correlation_id"."1f8f11e6-0cf5-49dd-b8d7-56f51ec27f8e" .[2026-05-11 10:42:071 local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command". "meeting-bot: schedule061440.1[2026-05-11 10:42:071[2026-05-11 10:42:10[2026-05-11 10:42:101[2026-05-11 10:42:13[2026-05-11 10:42:131[2026-05-11 10:42:171[2026-05-11 10:42•171[2026-05-11 10:42:201...
|
PhpStorm
|
faVsco.js – laravel.log
|
NULL
|
17995
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeLaravelKeractorTOOISWindowFV faVsco.js°9 JY-20725-handle-HS-search-rate-limitProiectC) AutomatedReportGenerated.onpPlanhatService.php© AiPrompt.php© AutomatedReport.php© AutomatedReportResult.php X<?phpAutomateakeportkesuit..c calendar.onp© Callimport.phpnamespace Jiminny Modelscoachincreecback.on© CoachingFeedbackVisibilic) coachingSection.php© CoachingSectionCriterion>use..•(c) CoachingSectionCriterion© CoachingSectionFeedbadcommentAbstract.phof Commentinterface.ohp(c) contactono@ Device.ohp(C) EmailMessage.oho(C) GenericA Promot.oho(C) Groun.oho©Inbox.php© InboxEmail.php© InboxEmailBatch.php© Invitation.php© JobLog.php© JobTitle.php© Language.php© LanguageDialect.php© Lead.php@ MobileSetting.php© Model.php(c) Moment.php© Nudge.php© NudgeRun.phpNENE33 (09c) Opportunitv.php© Participant.php(c) Partner.oho@ Permission.ohp(C) PhoneNumber.oho© PlavbackTheme.phpC) Plavbook.ohr@ PlavbookCateaorv.ohn(c) Plavlist.nhol© RateLimit.phpC) Reaion.nhn©Role.php© RoleChangeEvent.php© ScopeGroup.php© Session.php© SlackBot.php© SocialAccount.php© Stage.pho(e) Tack nhn* Jiminnu Models Automatedreportresult* dorovertu int 51d* doropertu strind suuld* doropertu int Sreoort id* doropertu strinalnul Sname* Goropertu int Sstatus* Goropertu int Sreason* @property string Smedia_type* anronentu intinur Snarent 7o* @property arraylnull $payload* Anronentu arraulnull Srecnonso* @property Carbon|null Srequested_at* @property Carbon/null $generated_at* @property Carbon|null $sent_at* @property Carbon|null $created_at* @property Carbon|null $updated_at* donoрenuehed oiminny rodels Aucomareukeport srepora* doentered Aucomareareportkesule null sourent* @nronertu-read |Illuminate Database\Eloquent\Collection<int, AutomatedReportResult> Schildrenclass AutomatedReportResult extends ModelUSe RequiresUUld* Status constantspublic const int STATUS DEFAULT = 0:8 usagesnublic const int STATUS PEQUESTED = 1•16 usageс|public const int STATUS_GENERATED = 2;public const intSTATUS SENT = 3•nublic const int STATUS FATIEN = 4* Poncon conctantepublic const int REASON_DEFAULT = 0:5 usagesMA8SIS1AV=custom.log=laravel.logA SF (jiminny@localhost]4 HS_local jiminny@localhost]« console [PROD] X# console [eu)A console [STAGING]621673641643645)— 646647649650652654So jiminnyLOWER(SUBSTRING INDEX(c.calendar_provider id, '@'. -1)) AS calendar domain040 A1 A40 V 64 ^FroM teams tJOTN users u 1<->1..n: ON u,team id = t.idJOIN calendars c ON c.user id = u.id AND c.status = 'active' AND c.calendar provider id LIKE 1%0%LEFT JOIn team domains tdON td.team_id = t.idAND td.deleted at IS NULIAND td.domain = LOWER(SUBSTRING INDEX(c.calendar provider id. 'a'. -1))GROUP BY t.id. t.name. calendar domainORDER Ry +.name. calendar domain:select * from users u join calendars c 1<->1.n: on c.user_id = u.idwhene u.team id = 882select * from activities where id = 74049485; # team 563 crm 537colont + Enom activitioc whono id - 77272302• # toam 547 eom 577select * from activities where id = 64400389; # team 563 crm 537colost + fnom nctivitioc whono id = 59091273• # +oam S4Z enm 577select * from activities where id = 54520297: # team 563 crm 537select * from participants where activity_id = 58081273select * from activities where crm confiquration id = 537 and provider = 'aircall'and account id = 19003658 order by updated at descselect * from contacts where erm confiquration id = 537 and id = 35957759:select * from accounts where erm confiqguration id = 537 and id = 19003658esults where 1d = 1976select * fromautomated reports where id = 583:select * from activity_searches where id = 87714;colort * fnom nato limite.and $d TN (18 1970).Command g1 ype = 'pdf' and status = 2"suppont Dally • In Zn z5m100% 5• Tue 12 May 12:31:38HandlenubspotkateLimiclest vcascadePlanhat Event PlaybadFixing Automated Rep+0 ..wInoughttor is>Searched getmediaPath in app/services/Kiosk/Automatedkeporiskead Automatedreporiskepositorv.ongSearched getMediaPath in app/Services/Kiosk/AutomatedReports/AutomatedReportsService.phpThouaht for 3slAnalysisRoot Cause:SendReport.Job.oho:80 calls getMediaPath(Sreport) which returns null when odf url is missina from the response• Passing null to Storage::disk()->exists() triggers the Flysystem type error1. Report has media type: pdt but responsel pdt url is null2. getPdfUrl() returns null (line 374-375 in AutomatedReportResult.php)3. getMediaPath() returns null (line 2266-2281 in AutomatedReportsService.php)4. Storage::exists(null) throws tyoe errorCronjob Behavior: The send cronjob (AutomatedReportsSendCommand. php:58 ) uses getGeneratedNotSentResults()Enhnwhere('status' AutomatedRenortResult:STATUS GENFRATED)Answer: Yes, marking the report as failed in the database (status = 4 ) will stop the cronjob from picking it up, since itonlv orocesses reoorts with STATUS GENERATED (2I•SendReport.Job.phrFix Applied: Added null check for s3Path before calling Storage::exists() to prevent the Flysystem type error.To cton the cronich from nickina un thic renort. Lindate the datahace record.UPNATE antonated renort reculte CFT ctatuc - A WHfpf undd - Ievour-unidst.The croniob only processes reports with status = 2 (STATUS GENERATED), so marking it as failed (status = 4 ) wileyclude it from future proceccingal .Accent alliAsk anvthina (84L)« Code SWF-1.6WN Windsurf TeamsUTE..io 4 spaces...
|
PhpStorm
|
faVsco.js – AutomatedReportResult.php
|
NULL
|
24651
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeLaravelKeractorWindowFV faVsco.js°9 JY-20725-handle-HS-search-rate-limitProiect•.gitignoree audio.wavT SyncCrmEntitiesTrait.phpC) CachedCrmServiceDecorator.ong©) HandleHu= nuospot-lournal-poll.log© RateLimitException.php© PaginationConfia.phdonounit.xmiis ttt.isE oauth-private.keyE oauth-public.kev= storageE supervisord.pidclass Cllent extends Baseclient 1mpLements Hubspotclientintertace121122123text-relav.isontests125FeatureIntearation• m Servicesv 7UnitActions130comnonentM ConficurationConsoleContractsD DomainMntoD EnumsD EventsD Exceptions137© EmailActivityImportExcC HandlerT est.php© RateLimitExceptionTes0 fixturesa GuardsD HelpersahiteIntearationsa InteractionsM.Jobs> ActivitvM AiAutomation>M Audiol• M AutomatedRenortsc) CreateResultsTect.ilC) RequestGenerateA.C) RequestGenerateR,© SendReportExpiring© SendReportJobTes@& SendReportMailJobe CondDanartNatGonMelondarMemmTacts naccod. 12 (todav 12:02nubu1etunction 1shubspotrateuimithrowaole se: 000l11 $e instanceof \GuzzleHttp\Exception RequestExceptionreturn (int) $e->getCode === 429:recurn talsepubuac function parseRetrvAfterThrowable Se: 1nt1f method existsSe.qetResponseheaders'?Sheaders = $e->getResponseHeaders() ?: []:svalue = Sheadersl'Retry-After'J ?? Sheadersl'retry-after"J ?? null;if (is arnav(Svalue)) {Svaluel0l 22 null.if (is_numeric($value)) 1return (int) $valve;Smessage = strtolower(Se->getMessageO):if (str_contains(Smessage, 'daily')) {recurn o00.if (str_ contains(Smessaqe, 'ten secondly')) {recurn 101if (str_contains(Smessaqe, 'secondly')) {return 1Sthis->loa->warnina('[Hubspotl No retry-after header or known message. using default'. [l'exception_class' => get_class($e),public function parseMessage(Throwable $e): stringhl"Preparation tor Kell... In 40 m100% Lz• Mon 11 May 14:15:48HandleHubspotRateLimitTest v= custom.log=laravel.log XA SF [jiminny@localhost]4 HS_local [jiminny@localhost]# console [PKol)& console lEUllA console [STAGING]Q- 429CcW.*0 results© UserAutomatedReportsController.php© PlaybackController.php(C) Hubspot/Service.pnp(C) HubSpot/Service.phpT DeleteCrmEntityTrait.php© VerifyActivityCrmTaskJob.php© RateLimitExceptionTest.php© Job.php© CrmActivityService.php© MatchCrmData.php© CrmObjectsResolver.php© ProviderRateLimiter.phpm A2 467 ×3л Vio 4 spaces ©...
|
PhpStorm
|
faVsco.js – laravel.log
|
NULL
|
18409
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeLaravelKeractorlooIsWindowFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiectC) TrackAutomated ReportGeneratedzventonp(C) TranscodeParameterRescl© UserService.php(c) Uuid.pnp> D TraitsD UseCases> D User> D Utils› D Validation> OvOphp nelpers.ong© InitialFrontendState.php© Jiminny.phpc) Plan.oho© Serializer.phpC) TeamScimDetails.ohpbootstrap>© build.> contia>D contrib→ database>O docsM front-end>D lang> node_modules library rootM ohostan> M nublic>O resourcesv Mroutesphp api.phpphp api_v2.phppnp console.onopnp customer_api.onppnp embedded.ongphp nealtn.onppnp scim.onophp uprotectedweb.phpphp web.phpphp webhook.php>O scriptsv O storage•aoo> M debuabar.… M frameworkv Mloas.aitianore• audio wav= custom.loalT SyncCrmEntitiesTrait.phpC) CachedCrmServiceDecorator.ongDeleteCrmEntityTrait.phpoveryaeuvitycrmlaskJoo.ong© RateLimitExce© PaginationConfia.phdclass JiminnyDebuqcommand extends Command361363364367368379=hubsnot-iournal-noll.log= laravel log< nhnunit ymus tht is= oauth-nrivate kevTacts naccod. 12 (todav 12:02private function natelamitfor (Si = 0 ; $i < 3; $i++) {if ($i % 25 === 0) {scnis"pinto syneine opporcunity 11rSthis->info( string: "Matching contact {Si}"):scrmservice->syncupporcun1cy574/20504scrmservice->macchbyname "kobot"1 usageprivate function simulateMatchActivityStorm(int Steamid = 2, int Scount = 100): voidSconfio = steam->oetcrmconflourat.ion0Sactivities = Activitv:quervoerm confiauration id' Sconfio->aetidon->orderBvDescdi->Uimit(Scount)->getO:Sthis->info( string: "Dispatching {Sactivities->count} MatchActivityCrmData jobs (portal={$config->getidO})"):fonpach (Sactivities as Cactivitv) &MatchActivityCrmData::dispatch( ...arguments: Sactivity->getId, $config, true):Sthis->info( string: 'Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.'):no usagesprivate function simulateVerifyTaskStorm(int SteamId = 2, int $count = 100): voidSactavitles = Activity::quervol>where co'team_1d', Steamid)s: 'crm provider id')'1d)->net05Sthis->info( string: "Dispatching (Sactivities->count} VerifyActivityCrmTaskJob jobs");foneach (Sactivities as Sactivitv) $(C) HubSpot/Service.php© ProviderkateLimiter.pngM A5 A133 X11 ^ v313318322- 328329330332=333=337[341345346Mon 11 May 14:06:48A console [EUiconsole [STAGINGI[2026-05-11 11:06:17] local.INF0: [MatchActivityCrmDatal Starting CRM data matching {"activity":612181,"remote search":true, "set confiquration"2026-05-11 11:06:17 Local.INFU:EsUpdatelarget Update sinqle taroet ""target'':"activitles", "purpose": "searchable-observer-update","entityld":612181r "co.2026-05-11 11:06:17 Local.INFU:12026-05-11 11:06117 LocoLINFI: MatchActivirvermbatal Particioants old state &'activit432a-b95112026-05-11 11:06:17 LocoL,INF0:SocialAccountServicell2026-05-11 11:06:171 LocoL,INF0:CrmOwnerResolveri Intearation owner12026-05-11 11:06:171 LocaL,INF0: Prosoect matchl Cac2026-05-11 11:06:171 LocaLINF0:CrmActivitvServicel[2026-05-11 11:06:17) local.INFO: [CrmActivityService.12026-05-11 11•06-171 Toco1NS0 ScundateTaraet " Undate sinale target[2026-05-11 11:06:17] local.INF0: [ AsyncUpdateElasticSearch ) Entity added to Redis list {"entityType":"activities"."entityId":612181,"colj[2026-05-11 11:06:17] local.INF0: [MatchActivityCrmData] Successfully matched CRM data[2026-05-11 11:06:17] local.INF0: [MatchActivityCrmData] Starting CRM data[2026-05-11 11:06:17] local.INF0: [ EsUpdateTarget ] Update single target {"tar[2026-05-11 11:06:17] local.INF0: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityTy[2026-05-11 11:06:17] local.INF0: [MatchActivityCrmData] Participants old state {"a[2026-05-11 11:06:18] local.INF0: [SocialAccountService] Fetching token {"socialAco[2026-05-11 11:06:18] local.INF0: [SocialAccountServicel Token retrieved {"socialAc2026-05-11 11:06:18 Local.INFU: EncryptedlokenManager beneratina[2026-05-11 11:06:18] local.INF0: [Crm0wnerResolver] Integration2026-05-11 11:06:18 LocaL.INFU: Pro:[2026-05-11 11:06:18] local.INF0:12026-05-11 11:06:18 Local.LNFU: CrmActiv1tyservicel12026-05-11 11:06118 LOCOL.INFU: ASVN[2026-05-11 11:06:181 local,INF0: [MatchActivitvCrmDatal Si2026-05-11 11:06:18| Locol.INF0: MatchActivitvcrmbatall2026-05-11 11:06:18 LocoL. INFO*2026-05-11111:06:18 LocoL.INF0: AsvncUodateElasticSearch12026-05-11 11:06:18| LocoL.INFD: MatchActivitvermbatal Particinants old12026-05-1112026-05-11 11:06:181 localTNS0• [SocialAccountServicel12026-05-11 11•06-181 locolTNE0• EncrvntedTokenManager Genenatina access token.2026-05-11 11•06:181 localTNE0• 1Crmi12026-05-11 11•06•181 locolTNE0• Prosnect matchll Cache miss. callina the APT "identifien tvne"."email[2026-05-11 11:06:18] local.INF0: [Hubspo12024-05-11 11•04•191 Tocal TASП• 1Pno.[2026-05-11 11:06:18] local.INF0: [Hubspot] Pagination completed {"team_id":2,"endpoint":"https://api.hu[2026-05-11 11:06:18] local.INF0: [Prospect match] Resolved company domain from email {"email":"[EMAIL]"."domain":"jiminny.com[2026-05-11 11:06:18] local.INF0: [Pro:[2026-05-11 11:06:18] local.INF0: [Pro:[2026-05-11 11:06:19] local.INF0: [Hubs1г2004-05-11 11-04.101 Лосо1 ТМS0• ГHuhSno+1[2026-05-11 11:06:19] local.INF0: [Hub:P A enasoc...
|
PhpStorm
|
faVsco.js – custom.log
|
NULL
|
18244
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeLaravelWindowFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProletey(C) TranscodeParameterRescl© UserService.php© Uuid.php> D TraitsD UseCases> D User> D Utils› D Validation> OvOphp nelpers.ong© InitialFrontendState.php© Jiminny.phpc) Plan.oho© Serializer.phpC) TeamScimDetails.ohpbootstrap>© build.> contia→ contrio→ database>M docsM front-end>D lang> node_modules library rootM ohostan> M nublic>O resourcesv Mroutesphp api.phppnp api_vz.ongpnp console.onopnp customer_api.onppnp embedded.ongphp nealtn.onppnp scim.onophp uprotectedweb.phpphp web.phpphp webhook.php>O scriptsv O storage>M debugbar… M frameworkv Mloas.aitianoreê audio. wav= custom.loal© SyncRelatedActivityManager.php© VerifyActivityCrmTaskJob.php© CrmActivityService.php© ProviderRateLimiter.phpclass J1minnyDebuqCommand extends Commandprivate function natelamut1365ScrmService->syncOpportunity('374720564');ScrmService->matchByName('Robot'):369=hubsnot-iournal-noll.log= laravel log< nhnunit ymus tht isC) TrackAutomated ReportGeneratedzventonp© UserAutomatedReportsController.php© PlaybackController.phpC) Hubspot/Service.php© HubSpot/Service.phphudspotsynestrategybase.ongT SyncCrmEntitiesTrait.phpCachedcmmservicebecorator.pnp© ProspectCache.php© JiminnyDebugCommand.php X T DeleteCrmEntityTrait.phpRematchActivityOnCrmObjectDetach.php© CheckAndRetryRemoteMatch.php© MatchActivityCrmData.php© Job.phpphp_ide_helper.php©) Paginationstate.php© MatchCrmData.php© CrmObjectsResolver.phpm A5 A133 M11 ^# Support Daily - in 1h 51 m100% C49. Mon 11 May 13:09:47HandleHubsnotPatel.imitTect= custom.log= laravel.log X4 SF [jiminny@localhost]# HS local fliminnv@localhosticonsole [PRODconsole [FulA console [STAGING]Q- MatchActivityCrmDataCc WV7 ^2026-05-11 19:09:451nensewar EsindateProcessManadensinshed undataino entates nuse twonkenenneat memonyriesnkeMilwa lansedse2026-05-11 19:09:45onmActivityService Emar domain belonos to the team skinino com lookun Clactivity id"160562 "team 1d"1212026-05- 10 09 45 Bc0EWNEOR ComActa viltySenvicelCRM matchino comolletedWactaMity 1l612562 "nantalcinantis noocessed"* "exant matichesi12026-05-11 10209 25B0EWE0R EsindatelacoetIndate sindle tacaet "tandet" -"aotaviales" "nunnose" « "ceanchabile-obsenven-undate" "entalt[2026-05-11 10:09:45]local. TNEO.• AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":612562,"collect[2026-05-11 10:09:46] local.INF0:[MatchActivityCrmData) Successfully matched CRM data {"activity":612562,"remote_search":true,"lead_id":null,"private function simulateMatchActivityStorm(int SteamId = 2, int $count = 100): voidsteam = leam:.rindsteamla*scont10 = steam->geturmuontqurationonSactivities = Activity::queryo->wherel co'crm configuration id'. Sconfig->qetIdO)->orderByDesc( column: 'id')->U1m1t(Scount)->qetosSthis->info( string: "Dispatchina «Sactivities->counto* MatchActivitvermdata ñoos (portal= Sconfia->getido?"):foreach (Sactivities as Sactivitv) «MatchActivitvCrmData:disoatchd..arauts: Sactivity->getId, $config, true);Sthis->info( string: 'Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.'):no usagesprivate function simulateVerifyTaskStorm(int SteamId = 2, int $count = 100): voidSactivities = Activity::queryO=walonotsell'team_id', $teamId)->whereNotNull( columns: 'crm_provider id')IAdIN→> Umrscount)->geto"Sthis->info0 string: "Dnspatching «Sactivitres->countO Ver1fvActzvitvcrmtaskJob 100S")*Foreach Sactivities as sactivity) <Ver1fvActivitycrmtaskJob::drspatchSactivity->qetidob:Sthis->infod strina: "Done."):WN Windsurf Teamc8-1UTE.8io 4 spaces ©...
|
PhpStorm
|
faVsco.js – laravel.log
|
NULL
|
17172
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeWindowFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiect© BatchSyncCollectolsynckelatedAcuvnymanager.onghudspotsynestrategybase.ongT SyncCrmEntitiesTrait.phpCachedcmmservicebecorator.onge balchsynckealssec clientonec closeaDealstagess @ ermactiviyservice.phpDealrielasservice.gc)Decorateacuivilv.or© FieldDefinitions.phrclass Cllent extends Baseclient 1mpLements HubspotclientintertaceC) FieldT vpeconvertee Hubspotclientinterc) Hubspotlokenman© PayloadBuilder.phpC) RemotecrmobiectrP ResponseNormalizec) Service,onoC)SvncFieldAction.onC) SvncRelatedActivitC) WebhookSvncBatclv MintearationAorM AcceccorsConfigD DTO• M SiltersD Jobs• M ProcnectSoarchStreW service lralts© DataClient.php© DecorateActivity.ph© LocalSearch.php137u LocalSearchintertac© RemoteSearch.phpc) Service.phpv W Listeners© ConvertLeadActivitc) PurceLookuocache> M Metadata> Miarationa Pioedrivev Salesforce• D FieldsM OnnortunitvMatcheMOnnortunitvSvneStM ProsneetSearchStr.• M ServiceTraitcC) Client nhr© DecorateActivity.ph. Delete@biectsTrait© FieldDefinitions.php15€© PayloadBuilder.php© Profile.php© QueryBuilder.phpTacts naccod. 12 (21 minutes aadououc tunction 1shubspotrateuimithrowable se: 000if Se instanceof BadReauestIl $e instanceof DealApiExceptionSe instanceof ContactAoiExcentionI1 $e instanceof CompanyApiExceptionSe instanceofGuzzleltto Excention ReauestExcentionneturn (int) So->aetCode0 === 429:public function parseRetryAfter(Throwable Se): intIlluminate\Support\Facades\Loq::channel( channel: 'custom_channel')→›info('$e . PHP EOL . print_r($e.return: true)return 5if (method exists($e.method: 'getResponseHeaders')) {sheaders = se->qetkesponsereaderso?:Svalue = Sheadersf 'Retrv-After'1 2> Sheadersf'retry-after'] 22 null:1t is arravsvalue)) 3Svalue = Svaluelol 22 null:if (is numeric(Svalue)) {return (int) svalue:Spolicy = $this->parsePolicy($e):if (Snoliey ===ITEN SECONDLY ROLLING')neturn 10.if (Spolicy === 'SECONDLY) {return 1;if (Spolicy === 'DAILY LIMIT') {notunn kad.Sthis->loq->warning('[Hubspot] No retry-after header or policy name found, using default'. ['exception class' => get class(Se).1:100% C4A console [STAGING]= custom.log= laravel.log X 4 SF [jiminny@localhost]console [PRODT DeleteCrmEntityTrait.php© Job.phpA3 468 M3 A V119120122III I11133134137— 157|| | |159Received 429 from API:6-05-11 10:17:04] local.INF0::6-05-11 10:17:04] local.INF0:16-05-11 10:17:04] local. INF0:[MatchActivityCrmDatal Starting CRM data matching {"activity":613820,"remote_search":true. "set confiquration":216-05-11 10:17:04] local.INF0:Esupdatelarget Update sinqle target ""target":"activities", "purpose":"searchable-observer-update", "entityid16-05-11 10:17:04] Local. INFO:6-05-1 10:17:04 LOCOL. INFOHMatchactivrvermiatal Partacioants old state "'activity":615820."oart1c1oants".*"1:6-05-11 10:17:04] Local. INFOSocialAccountServicel Fetching token "socialAccountld":1499."orovide16-05-11 10:17:04 ZocaL. INFO:retrieved "socialAccountiid".1"correlation 1d"*"ee7844816-05-11 10:17:04] Local. INFO16-05-11 10:17:041 Local. INF0:CrmOwnerResolver Intearation owner matched as CRM Owner <"Viden"«"hubsoot" "crm ownen":148. "team id"-2:6-05-11 10:17:04] Local. INFO:6-05-11 10:17:04) local.INF0:ermActivitvService Emaii domain helonas to the team. ckannina erm lookun Clactivitv idll: 613820.midi.2."e:6-05-11 10:17:04) local.INFOsed":2,"exact_matches":1,16-05-11 10:17:04] local.INF0: [ EsUpdateTarget ] Update single target {"target":"activities", "purpose":"searchable-observer-update" "entityId16-05-11 10:17:04] local.INF0:[ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities"'16-05-11 10:17:04] local.INF0:16-05-11 10:17:04] local.INF0:16-05-11 10:17:04] local.INF0:[ AsyncUpdateElasticSearch ) Entity added to Redis list {"entityType":"activities" "entityId":613818, "collectio16-05-11 10:17:04] local.INFO:[MatchActivi+vrnmhatal Danticinante old ctato filactivitvl.412019 inantiaitcl.ffuidu.1001717 Hucon idil.null":6-05-11 10:17:04] local.INF0:[SocialAccountServicel Fetching token {"socialAccountId":149916-05-11 10:17:04] local.INF0:fcocialAecoun+Convicol Tokon notriovod filcocialAccounttau.11dSiconnolation idul.un470/02:6-05-11 10:17:04] local.INF0:[EncryptedTokenManager] Generating access token. {"mode":6-05-11 10:17:04] local.INF0:fenmlunonDocolvonl Intoanation ounon matchod ac CDM Ownd"74704a29-86b2-4b3f-ae73-0"team_id":2n"r ""coriid":2."e16-05-11 10:17:041 local, INF0:[CrmActivitvServicel CRM matching completed {"activity id":613818.natches":1"entityld16-05-11 10:17:041 local, INF0:16-05-11 10:17:05] Local. INF0:16-05-11 10:17:051 local, INF0:MatchActivitvermdatal Startina CRM data matching ""activity":615812):6-05-11 10:17:05] Local. INF0:16-05-11 10:17:051 local, INF0::6-05-11 10:17:05] Local. INFO16-05-11 10-17-057 TocaTNSOASocial AccountService Setchina token "socialAccountid":14001entitvid":615818."collectio1 id":null."coearch":true."set confiquration":2odate" "entitvidentitvid":613812."collectio""correllation 1d":"0698152e{"correlation id"."0698152*6-05-11 10•17-051 local. TNE0•:6-05-11 10:17:05] local. INFO*6-05-11 10•17-051 local. TNEOI:6-05-11 10:17:05] Local. INFO1-05-11 19-17.051 1oco1 TASOIid":"06981520-0a7h-46d1-05e4-ubsnoti "com ownen"•148 "team idil.2Prosnectmatchl Cache local16-05-11 10:17:05] local.INF0:EsUpdateTarget ] Update single targetHonti+utd16-05-11 10:17:05] local.INF0:colloctio16-05-11 10:17:05] local.INF0:[MatchActivityCrmData] Successfully matched CRM data {"activity":613812,"remote search":true, "le:16-05-11 10:17:05] local.INF0:confiquration": 216-05-11 10:17:05] local.INF0: [ EsUpdateTarget ] Update single target {"target":"activities" "purpose": "searchable-observer-update" "entityId16-05-11 10:17:05] local.INF0: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities" "entityId":613807 "collecti...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
17442
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicareCodeWindowFV faVsco.js°9 JY-20725-handle-HS-search-rate-limiroledeyM AutomatedReports© SyncRelatedActivityManager.phpyhubspotsyncstrategybase.orgV syncermenttes tralt.onpCachedcmmservicebecorator.pnpv D UserPilotс пгаскаиотатеаке> D CalendarsCheскAnaketrykemotematch.ong© RateLimitException.phpOermboorstrapintecralionA© ImportActivityTypes.pl © CrmobjectsResolver.php() ProviderRateLimiter.phpC) PaqinationContia.phpc) Importmetadata.php© InitProfiles.phpk?phpA1A1 X1AC) LavoutmodifiedListene© LayoutUpdatedListenedeclare(strict tvoes=1)):RematchActivitvonern© RemoteCrmRecordDelnamespace Jiminny Listeners AutomatedRenorts UserPilot:c) Resolveowner.ono› use ...C) [EMAIL]© SyncProfileOpportunitiN DealRisks18 Gclass TrackAutomatedRenon+GenenatedFvent imnlements ShouldQueueuse inceracuswithuveveM slacticSearchiM Grounch imnortprivace const Scring EVENI_NANE_AUlUMAIEU_KErURl = 'auconaced-reporc-generacednM Mailboy1 usageM Nudaecprivate const string EVENT_NAME ASK JIMINNY REPORT = 'ask-jiminny-report-generated' :MucerPilot© CreateNudgeCreatedED Opportunitiesv D Playbooks© AttachLayout.php© ChangeSidekickSettins© CreatePlaybookCreatev C Playlists> @ Activitiesv 0 Planhatpublic string Squeue = Constants::QUEUE_DELAYABLE:public tunction constructprivate readonly UserPilotClient SuserPilotClient.orivate readonly Automatedrenortsservice sautomatedrenortsservice.) 4..3public function handle(AutomatedReportGenerated Sevent): voidk...?C) CreateActivityAdde>M UserPilot( ImportGroupPlavlistSh> MTeams74 E* areturn arrauclsercontract>Transcriotionnnivate function resolvellsens(AutomatedRenont SautomatedRenont)• arnavf…..}v Users@ ActivitvProviderDisconC) ActivitvProviderintear: 981@) CreateDefaultPlavlist.rprivate function buildPayload(AutomatedReport $automatedReport): array{...}(C) CreateDefaultSavedSelusageprivate function resolveEventName(AutomatedReport $automatedReport): string{...}9) NotifvCrmOwnerDisco 10d) NotifvCrmllserDisconn(c) Cothofault Auntarl ictar(e) CotunCnlondarCune nh© SetupMailSync.php© Syncintercom.phpHelner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)A SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKob.# console [euJ# console [slAGiNg)2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Vace". "Inu,ur May 2020 14.21.19 6Ml"Jn"Concent-lvoe". "apolicacionison charser=utt-on"Transfer-Encoding": ["chunked"]."CF-Ray":"9t80deb8dbo0dcsa-S0F"J,"Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncludeSUbDomains: preload"),acceot-encodino""access-control-allow-credentials": "false"i."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfr;desc=|"9f80deb8e7c6dc3a-1AD\""J,"x-content-tvoe-ootions":"nosniff".."x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookip"." c+hm=Stlirtd0aXVr.kSandas6hzVVKhzTn0BidvMaheCtm0V-1778163675-[IP_ADDRESS]-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To".f"s("endpoints)":[{("url\":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RV("group\":\"cf-nel\".("max_age\":604800}"],"NEL"L"1"success_fraction\":0.01,reportto. "cr-nel,"max agel ":604800}"].'Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sboyeab","trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545Cascade0 HubSpot Rate Limi• Process 100 activities per API calThroughput: 100k activities / 100 per call / 5 calls/sec = 3.3 minutes total. Done before retryUntil ever fires.This is the riaht architectural fix. Effort: medium rewrite CrmActivitvService::updateCrmData to operate on batches).• B. Dispatch-side throttlingDon't dispatch all 100k at once. Pace the dispatcher:U phpInstead of:foreach (Sactivities as Sactivity)MatchActivityCrmData::dispatch(Sactivity->id):fo Do:h enctivities-schunkta) ae sohunk)fforeach ($chunk as $activity) {MatchActivitvermData::disoatch(Sactivitv->id->delavnowo->addSeconds(Sindex++ 41:Or use a sinale command that processes N activities/sec on a scheduleD phpclass MatchactävitzesComnand extends ConmandActivity::needscrmMatch→Limit( 100)I/ 100 per minute = ~1,6/sec. well under 5/secl>each(fn (Sa) => MatchActivitvCrmData::dispatch(Sa->id))=iu scheduler: -sevenwinuter)Throughput: paced to 100/min = 1.67/sec. 100k jobs = ~10 hours. Slower but 0 failures, no rate-limit storms, predictable.Effort: low lone command + scheduler entrv).C. Lookun result cachina)Many activities likely share the same email/phone (multiple meetings with same contact). Cache the resolution"phe// Inside CrmActivityServiceScacheKey = "hubspot:contact: lookuo:SportalId}." , sha1(Semail)•ScontactId = Cache: : remember(ScacheKey, 3600, fna 84D40"suppont Dally • In Zn 40m100% 2• Mon 11 May 12:15:15AskJiminnyReportActivityServiceTest -+0 ..wNPSW Windsurf Teame1-1.JUTE.8io 4 spaces...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
16670
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicarecodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-lProiectC) SubscrintionContro• synckelatedAcuivilymanager.pnpC) TeamA Automationweinteceinixeereit@ TeamController.phpc) ToaminciahtcContrС) Cпескапакеtгукemotematch.phg( RateLimitException.phpo transcrlpuonconu© TranslationControll© UserController.php© VocabularyControll>@ AuthC) Client.phpphpidehelper.ph©) PaqinationState.phoC) MatchCrmData.php© CrmObiectsResolver.phcC) ProviderRateLimiter.php©) PaqinationConfia.phpfinal class PlavbackController extends FrontendcontrollenMA6X3AY-customerapl›J InternaD Kioskeams© ActivityController.pAutomatedReportsic) DashboardControllec) ImpersonationContC) MediaPinelinecontc) Orcanizationscontr0 PartnersController.C) ProfileController.oh© SearchController.pt 1ac>• SettingsM Telerhonvv M Wehhook>D Hubspot>D IntegrationAppSub: 10cl© ActivityProviderCor 104© ActivityTranscriptio 107© BaseController.php 10d© CalendarController. 109© ReportController.ph 11dSoftphoneWebhool 111(c. AbstractController.phg 11g® CommentContextinter 113© ConterencesOptinouts 114c) controller.phpExportController.php© FrontendController.ph| 112T FrontendControllerTra 118% GeocodingController.p 119(C) HealthCheckControlleiP LiveCoachController.pl 120© MissingTeamControlle 120(C) MobileController.ohv© NotificationController.1 1z4© NotificationProviderCo 145Ye) PlavbackControlier ohg DlavlistController nhn1A4IO Spublic function show Activity Sactivity, PlaybackPageTransformer $transformer, Request Srequest): arraylstr:Sdata[ 'playbackData']['masterPlaylist'] = Sthis->qetPreloadedPlavlist(Sactivity):if (! isset($data['playbackData']['tracks'D)) ?ScatalolavbackData'"tracks'= ?* Sending 'playbackVisited' event to Planhat without slowing the* response to the user e.g. after the response is sent backdofen dfn () => $this->planhatService->track(user: Suser,event: 'playbackVisited',payload: ['activityId' => Sactivity->getIdO'activityUuid' => Sactivity->getUuid.) ->always O:return Sthis->render(0"playbackData' =>'activity' => Sdatal'playbackbata''tavorited' => Sdatal'favorited'n'subscribed' => $datal 'subscribed'1Vlew => svlew.private function getPreloadedPlaylist(Activity Sactivity): arrayt...}Othrows AuthorizationEycentionGET Inlavlict[activitv) m2u8 fnlavlict1public function playlist(Activity $activity): Response{...}(C) PucherController nhng SlackController nhnlelner Code will hoin INF to underctand vour Laravel ann code II Generate II Don't Show Anvmore (todav Q•08)A SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKob.# console leu)# console [slAGiNg)[2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {MMi9.У'Date":["Thu,07 May 2026 14:21:15 GMT"]."concenc-lyoe. apolicacion/ison.charser=utt-on"Transter-Encodinq":"chunked")n"CF-Ray":["9f80deb8db60dc3a-SOF"]"CF-Cache-Status": L"DYNAMIC"J,"Strict-Transport-Security":L"max-age=31536008; incLudesubbomains; preload"J."access-control-allow-credentials": "false"."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3)",cfr;desc=|"9f80deb8e7c6dc3a-IAD\""]"x-content-tvoe-ootions":""nosniff""x-hubsoot-correlation-id":"019e02d0-6fd8-7812-bdba-885b7ccb3ee3"])ISot-Cookie"•" c+hm-Stlirtd0aXVr.kSAndas6hzVVKhzTn0BidvMaheCtmoV-1778163675-1.0.1107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Report-To":["{\"endpoints)":[{("url\":"https:|/\V/a.nel.cloudflare.com\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RV\"group)":\"cf-nel\",("max_age\":604800}"],"NEL":["{("success_fraction\":0.01,reportto. "cr-nel,"max agel ":604800}"].'Server": ["cloudflare"]}} {'correlation_10":"95256555-ec98-4541-b9za-adta/sboYeab",'trace_10":"C/AD8565-905t-4604-9405-0e5b551e5545S0 hl• supoort Dally • In Zn 32m100% 47. • Mon 11 May 12:28:38AskJiminnyReportActivityServiceTestvCascadeHubspot Rate Limit Re+0 ..Run only 5 workers for analytics low so concurrency naturally matches the 5 RPS limit:bashwphp artisan queue:work --queue=analvtics low -tries=0 --max-1obs=0 --processes=5Effect: 5 workers x 1 successful op/sec = 5/sec. No rate-limit storms because we're under the limit by design. Each worker rarely sees a 429.Trade-ors.*Slower throughput (still o/sec celling = o.o hours for 100k)• Other ioos on this queue comoete with the bottlleneckWorks, but requires Horizon config changesF. Pre-flight cache check at job entry (mentioned earlier)Eliminates the DB transaction churn from cache-hit cvcles. Doesn't change the throughput ceiling, but reduces cost durina a storm to almost nothinalEasy win. Pairs with all other optionsG. Fllter unmatchable activities berore dispatchIf manv activities have no email/ohone/name to match. dispatchina them is pure waste.O phpActivitv..needsCrmMatchol›whereHas('participants', fn ($q) => $q->whereNotNull('email")->orwhereNotNu((phone))→each(fn (($a) = MatchActivitvcrmData::dispatchSa->id)):If 30% of the 100k are unmatchable (no contact info), removing them gets you to 70k - still over 9k cap, but closer.Recommended combination1. A batch endnoints) = 100x throudhout. Solves the oroblem2. B (dispatch throttling) - defense in depth, prevents future storms.3. C (ookuo cachina) — reduces redundant Ap calls)4. F (pre-flight cache check) - eliminates DB churn during inevitable stormsWith A + B alone, the 100k 9k problem becomes 100k → 100k completed in ~3-10 minutes, depending on caching efficiency.A is the leverage point. Without batch endpoints, you're brute-forcing through a 5 RPS hose. With them, the hose is 500 matches/sec.SummaryRace window: 5-10 wasted real APl calls per cache - cycle. Bounded, ~15k calls wasted in 30 min (vs 441k without cache). Acceptable, can be tightened with aprobe lock if neededHubSpot-named middleware on multi-CRM iob: no functional issue for HubSpot. Salesforce/Pipedrive rate-limits ao through the wrona path (treated as reallexceptions). Rename + extend other clients for consistency.100k → 9k bottleneck: not a rate-limiter problem, an architectural one. The fix is batch endpoints + dispatch throttling, not more aggressive retry logic..nl .ok what about÷ « CodeClaude Onus 4.7 MediumWN Windsurf Teams101-20UTF.8io 4 spaces...
|
PhpStorm
|
faVsco.js – DeleteCrmEntityTrait.php
|
NULL
|
16803
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavicarecodeLaravelWindowFV faVsco.js°9 JY-20725-handle-HS-search-rate-limiProiectC) TrackAutomated ReportGeneratedzventonp(C) TranscodeParameterResclT SyncCrmEntitiesTrait.php© UserService.php© Uuid.php> D TraitsD UseCases> D User> D Utils› D Validation> OvOphp nelpers.ong© InitialFrontendState.php© Jiminny.phpc) Plan.oho© Serializer.phpC) TeamScimDetails.ohpbootstrap>© build.> contia> O contrib.→ database>docsfront-end> D lang> node_modules library rootM ohostan> M nublic>O resourcesv Mroutesphp api.phppnp api_vz.ongpnp console.onopnp customer_api.onppnp embedded.ongphp nealtn.onppnp scim.onophp uprotectedweb.phpphp web.phpphp webhook.php>O scriptsv O storage•aoo>M debugbar… M frameworkv Mloas.aitianoreê audio. wav= custom.loalC) CachedCrmServiceDecorator.ongDeleteCrmEntityTrait.php© CheckAndRetryRemoteMatch.php© HandleHubspotRateLimit.phpC) Kernel.png© PaginationState.phpC)MatchermData.phgclass Client extends Baseclient 1mpLements Hubspotcllentintertaceprivate function createBatchConfiguration(string $objectType): array352'inputClass' => \HubSpot\Client\Crm\Contacts\Model\SimplePublic0bjectId::class'api' => $this->getNewInstance->crm->contacts->batchApiO.if (1 isset($configurations[$obiectTypel)) &chrow new\InvalidArgumentException( message: "Unsupported obiect type: {SobiectType}")return SconfiqurationsSobnectivoel:orivate function prenareßatchReduestarrav Shatchionfio, arnav scrmids. arrav Sfields: obnect$batchReadRequest = $batchConfigl'batchReadRequest'];SinnutClass = ShatchConfiar'innutclass'1:Sinnuts = arrav manfunction (Scrmid) use Sinnutclass) &Sinput = new $inputClassO:Ginnut->cotTd(Scomtd)•return $input;}, ScrmIds):$batchReadRequest->setInputs($inputs)ChatchPondPoauoct.sco+Dnonontioc/Cfiolde)private function validateApiResponse(Sresponse, string SobiectType): voidif (! Sresponse) {throw new CrmException( message: "HubSpot APT returned null response for {SobiectTvne} batch read"):orivate function processAniResults(Sresponse): arrav= hubspot-journal-poll.log= laravel log< nhnunit ymSresults = 1];SnpsnonseResults = Snesnanse->aetResultc0•us tht is= oauth-nrivate kevTacts naccod. 12 (todav 12:02Preparation tor kerl… In oom100% L2• Mon 11 May 14:05:22HandleHubspotRateLimitTest v« console (PROD]* console (EUl& console (STAGINGIw.19A© PlaybackController.php(C) Hubsnot/Service.ohn(c) HubSpot/Service.onpoveryaeuvitycrmlaskJoo.pnp© Job.phpC) CrmActivityService.pnp© PaginationConfig.phg=laravel.log4 SF [jiminny@localhost]& HS_local [jiminny@localhost][2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Date":["Thu,07 May 2026 14:21:15 GMT"],"Content-Type":["application/json;charset=utf-8"]."Tnancfen-Encoding": ["chunked"J,"conneccion". Keep-alive"n"CF-Ray" : ["9f80deb8db60dc3a-SOF"],"CF-Cache-Status":"DYNAMIC"]"Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncludeSubDomains: preload")accept-encoding"],"access-control-allow-credentials": "false")server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",cfn:desc="9-80de8ercodcSa-TAD"'"x-content-type-options": ["nosniff"]."x-hubsoot-correlation-id":"019e02d0-6fd8-7812-bdba-885b7ccb3ee3"])07-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To"l."."endnoints"•!\"url\":\"https:|V/\V/a.nel.cloudflare.com/\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZLzoYdxI%2BIxVpHmsKn30%2BKVA3mFIJ2m7YRECDGS\"group\":\"cf-nel\",\"max_age\":604800}"],"success_fraction\":0.01,l"report_to\":\"cf-nel\".\"max_age\":604800}"],"Server": ["cloudflare"]}} {"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab""c7ab8365-903f-46d4-9403-0e5b551e3545"}W Windsurf Teams 25:27 UTF-8 fo 4 spaces ®...
|
PhpStorm
|
faVsco.js – custom.log
|
NULL
|
18225
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavigareCodeLaravelKeractorFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiectC) UserAutomatedReportscontroller.ongHelpers• m HubsnotMActions©) MatchActivitvCrmData.ong• DDTO• O Fields> @ Journal> @ OpportunitySyncv D Pagination© HubspotPagiC PaginationCcC PaginationSt:> 0 ProspectSearch<?phpdeclarelstrict tyoessio:namespace Tests Unit Services Crm Hubspot:use…..- service lraits> C WebhookC) BatchSvncCollerC) BatchSvncRedis3ui to Cascade Si to Command* QrunTestsTnSenarateProcessesc) ClientTest.ono©) ClosedDealStaa* @preserveGlobalState disabled(c) DealFieldsServicclass Clienttest extends lestuase(c) DarnrataActivitiSholfCancolayLog xChanaes & files= env.local aor.© Client.php app/Services/Crm/Hubspotc ClientTect nhn tectc/Unit/Services/Crm/HubsnotHandleHubspotRateLimitTest.php tests/Unit/Jobs/Middleware© JiminnyDebugCommand.php app/Console/Commandsphp logging.php config© MatchActivityCrmData.php app/Jobs/Crm(C Patel imitEycention.nhn• Iinvorcinnod Siloc @ filacE.env.nikilocal app= env.other app© CanAccessAiReportsTest.php tests/Unit/Policies© CreateMockAskJiminnyReportResultCommand.php app/Console/Commands/Rli tavicon.ico public=ids.txt apdTa raw sal querv.sal app© SimulateWebhooksCommand.php app/Console/Commands/Crm/HubspotM. WEBTOOK FILTERING IMPLEMENTATION.mo a0dWindowmelpRematchActivityOnCrmObjectDetach.php© HubspotPaginationService.phpOhuospot/service.pnpOhubspot/service.pnp© SyncCrmEntitiesTrait.php© RateLimitException.php(C) TrackAutomatedReportGeneratedevent.onpC) CachedCrmServiceDecorator.ong© CheckAndRetryRemoteMatch.php©) ClientTest.php x © Kernel.php5| A19 A144 X11 A ~ 22100% L2P• Mon 11 May 18:52:44ClientTest vA SF [jiminny@localhost]4 HS_local [jiminny@localhost]A console [PROD]« console [EU]console [STAGINGI"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEs0kXi ~07-May-26 14:51:15 GMT: domain=.hubapi.com:Http0nly: Secure: SameSite=None"].w19A"keporc-10"."N"urL\":1"https:(VNVa.net.cloudf Lare.com\V/report\V/v4?s=NYALsVTPotYm52qrSDJxYE4sd2RwRq15p5wHsmd=g<Lz@YdxLx2B1XVpHmsKnS0%2BKVA5mF1J2m/YRECD65nx2BW2LYT206FM4%2l v("group"; \"cf-nell","max age":604800,"J,"success traction":0.0%"max age":6048002"]"Serven":"cloudflare"?>4"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab","trace id":"c7ab8365-903f-46d4-9403-0e5b551e3545"%+ → E Side-by-side viewer -8 02d5214b app/Exceptions/RateLimitException.phgDo not ignore+Highlight wordsXBB ?use Ihrowable:class rateuimitzxcention extends runtimezxceotionpublic function constructastrina Smessage = "".private readonly int $retryAfter = 1?Throwable Sorevious = nulzparent::__construct($message, 0, $previous);nublic function aetRetrvAftero. intneturn max(Sthis->retrvAfter 134 differencescurrent versionuse Ihrowable:class ratelimt xcention extends runtimezxcentionprivate readonly int SretrvAfter:public function -_constructstrina Smessage =int SretrvAfter = 1.?Throwabille Sorevious = nulunarent.• construct (Smessaae. 0. Sorevious)•Sthis->retrvAften = max(. SretrvAfter):public function getRetryAfterQ: intreturn Sthis->retryAfter:W Windsurf Teams 44:1 UTF-8 Pa 4 spaces ®...
|
PhpStorm
|
faVsco.js – ClientTest.php
|
NULL
|
20568
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormVIewINavigareCodeLaravelKeractorWindowmelpFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiectRematchActivityOnCrmObjectDetach.php© HubspotPaginationService.php(C) TrackAutomatedReportGenerateaevent.onp> @ Mailbo>v D MiddlewareC) UserAutomatedReportscontroller.ongOhuospot/service.pnpOhubspot/service.pnpT SvncCrmEntities Trait.onpC) CachedCrmServiceDecorator.ongCheскAnакetrукemotematch.pngo handleruospotkal>@ Streaming>D Team© MatchActivityCrmData.php© RateLimitException.php© ClientTest.phgC) Kernel.php_ lelepnony> DUserc) ImportRecallAlRecordik?phpdeclarelstrict tyoessi:c) SasVisibilitycontrolTe:v W Listeners> @ Activitiesnamespace Tests Unit Jobs MiddLeware:>D Audio• AutomatedReportsAutoscore› use ...17 CrmM DealRisks#[CoversClass(HandLeHubspotRateLimit::class)]class HandleHubspotRateLimitTest extends TestCase17 ElasticSearchlGrouosprivate HandleHubspotRateLimit $middleware;Import• M MailbosCancola yLocal ChangesLog X• Chanaes & files+ → E Side-by-side viewerDo not ignore Highlight words802d5011h toctc/llnit/lohc/Middlowaro/HandloHuhenotDatol.imitToct.nhrXBB ?= env.local aor.© Client.php app/Services/Crm/Hubspotc ClientTect nhn tects/Unit/Services/Crm/Huhsnot© HandleHubspotRateLimitTest.php tests/Unit/Jobs/Middleware© JiminnyDebugCommand.php app/Console/Commandsphp logging.php config© MatchActivityCrmData.php app/Jobs/Crm© RateLimitException.php app/ExceptionsUnversioned Files 9 filesE.env.nikilocal appE.env.other app© CanAccessAiReportsTest.php tests/Unit/Policies© CreateMockAskJiminnyReportResultCommand.php app/Console/Commands/R#LCoverstLass (Hand LeHubspotkateLimit::class)Jclass HandleHubspotRateLimitTest extends TestCaseprivate const int MAX RETRY DELAY = 600:orivate const int MIN RETRY DELAY =1.private const int JITTER SECONDS = 5;private HandleHubspotRateLimit SmiddLeware;protected function setUp(): voidi tavicon.ico public=ids.txt apdHubsootRateLimitTest AAAATa raw sal querv.sal app© SimulateWebhooksCommand.php app/Console/Commands/Crm/Hubspotpublic static function delayClampingProvider: arrayM. WEBTOOK FILTERING IMPLEMENTATION.mo a00return l'short retry uses retry_after as floor' => ['retryAfter' => 1,'expectedMin' => self::MIN_RETRY_DELAY,'expectedMax' => self::MIN_RETRY DELAY + self::JITTER SECO.'medium retry passes through' => ['retryAfter' => 30,'expectedMin' => 30.'expectedMax' => 30 + self::JITTER Shhl100% 47. • Mon 11 May 18:53:16ClientTest vA SF [jiminny@localhost]4 HS_local [jiminny@localhost]A console [PROD]« console [EU]console [STAGINGI"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEs0kXi =s07-May-26 14:51:15 GMT: domain=.hubapi.com:Http0nly: Secure: SameSite=None"].w19A"keporc-10"."N"urL\":1"https:(VNVa.nel.cloudfLare.com/V/reportiV/v4?s=NYALsVTPotYm52qrSDJxYE4sd2RWRq15p5wHsmd=g<Lz@YdxLx2B1XVpHmsKn50%2BKVA5mF1J2m/YRECD65nx2BW2LYT206FM14%2l v("group"; \"cf-nell","max age":604800,"J,"NEL": ["$"success traction".0.olg"max ade":6048002""Serven":"cloudflare"?>4"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab","trace id":"c7ab8365-903f-46d4-9403-0e5b551e3545"%6 differencescurrent version# Coverstlass(HandLehubspotkateL1m1t::class)class HandleHubspotRateLimitTest extends TestCaseprivate HandleHubspotRateLimit Smiddleware:protected function setUp: voidpublic static function delayClampingProvider: arrayreturn"short retry nasses throuahl =>'retryAfter' => 1'expectedMin' => 1.1+ C siitton'medium retry passes through' => ['retryAfter' => 30.'expectedMin' => 30.'expectedMax' => 35, // 30 + 5 jitter'large retry clamped to 600s max' => ['retrvAfter' => 86400'expectedMin' => 600Tacts naccod: 80 12 minutes addW Windsurf Teams 1:1 UTF-8 P 4 spaces...
|
PhpStorm
|
faVsco.js – HandleHubspotRateLimitTest.php
|
NULL
|
20573
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormcodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-Iiyroledey© UserAutomatedReportsController.phpus ttt.is© PlaybackController.php© SyncRelatedActivityManager.php= oauth-private.key= oauth-public.key= storagesupervisord.pid@ text-relay.jsonv Otests› D Feature›> D Integration› D ServicesC Unit> Actions© HubspotSyncStrategyBase.php© JiminnyDebugCommand.phpT DeleteCrmEntityTrait.php© HandleHubspotRateLimitTest.php ›© CheckAndRetryRemoteMatch.php x© MatchActivityCrmData.php© Job.php(C) CrmActivityService.phRateLimitException.pho© HandleHubspotRateLimit.php(C) Client.phpphpidehelper.php©) PaqinationState.phoC) MatchCrmData.php(C) CrmObiectsResolver.pho(C) ProviderRateLimiter.oho(C) PacinationConfia.ohok?phpAccept Rejectcomponenideclare(strict_types=1);ucontiquration[7 Consolenamespace Tests\Unit\Jobs \Middleware;u ContractsDomainD DTOMEnums#[CoversClass(HandleHubspotRateLimit::class)]EventsD Exceptions> M7 Crml@ EmailActivitvimportEyc18 Dclass hanolenuospockaceLimlclest excenas lescuaseprivate const int MAX RETRY_ DELAY = 600:HandlerTest.ohoc RateLimitExcentionTesprivate const int MIN RETRY DELAY = 1;Im fixturecGuardsHolnercprivate const int JITTER SECONDS = 5:D HttpD IntegrationsD Interactionsiulnheprivate HandleHubspotRateLimit Smiddleware:16 01 )protected function setUp: voidk...>@ Activity> • AiAutomation>[ Audiov @ AutomatedReports© CreateResultsTest.© RequestGenerateA:C RequestGenerateReC SendReportExpiringC SendReport JobTesC SendReportMailJob 67@ SendReportNotGen33DYnublic function testPassesThrouahWhenNoExcentionThrown@. void....49DYnublic function testPronagatesNonRateLimitExcentions@ void....* @return array<string, array{retryAfter: int, expectedMin: int, expectedMax: int}>public static function delayClampingProviderO: array{...}> M7 CalendanwinataProviden("delavtlamninapvider')], 17 CrmM DealRisks89 D )public function testReleasesJobWithClampedDelay(int SretryAfter, int SexpectedMin, int SexpectedMax): void{> M Mailbo»• M Middleware* @return arrau<string. arraufattemots: int. shouldLog: bool}>c Handle-ubsnotRattlM Streaming> IM Toamnublic statid function lodSamptediaProfid ~ Accept File %- X Reject File 038<M Telenhonv=laravel.logA SF (jiminny@localhost]4 HS_local (jiminny@localhost]# console [PKOb.# console leu)# console [slAGiNg)[2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"neaders".?"Uace":L"Inu,or May 2020 14.21.15 6Ml"Jn"Concent-lvoe". "apolicacionison charser=utt-on"Transter-Encod1nq":"chunked")."Connection": L"keep-aLive"J,"CF-Ray":L"9t80debödb60dcsa-S0F"J,"Strict-Transport-Secur1ty":"max-aqe=31536000* 1ncLudeSubDomains: preload")n"Vary":"orioin.accent-encodino""access-control-allow-credentials":["false"]."server-timing": ["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\","x-content-tvoe-ootions":"nosniff"]"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookie":["__cf_bm=SrUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.107-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],"Renont-To".r"*"endnoints"."unl".httns:a.nel.cloudflane.com./nenon+|W/v42c=NVA1cVTPQfVm32anS0ixVF/sd2RI25\"group)":\"cf-nel\","max_age\":604800}"],"NEL":["{\"success_fraction\":0.01,"report to\":|"cf-nel\"."max age":604800}"]"Server": ["cloudflare"]}} {"correlation_1d":"95256555-ec98-4541-b9za-adta/Sb6Yeab","trace_10":C/AD8565-905t-4604-9405-0e5b551e5545"So libl^ & Support Daily - in 2h 3 m100% 47. • Mon 11 May 12:57:34AskJiminnyReportActivityServiceTest vCascade0 HubSpot Rate Limiulate the load. How to simulatelat loas sholThought for 1Read JiminnyDebugCommand.phpThouaht for 24sGood - you already have a rateLimit() scaffold. Let me extend the command with proper simulation helpers and document expected behaviorHow to simulateA. Simulating MatchActivityCrmData stormThis is the simpler, more representative case - single job class hammering HubSpot. The trick is having enough real activities to dispatch jobs against.B. Simulating DeleteCrmEntityTrait fan-outThe trait fans out to VerifyActivityCrmTaskJob. To simulate the load shape without the prerequisite of a soft-deleted entity, just dispatchIf you want to test the trait itself end-to-end, you'd need:1. A Contact row with deleted_at set2. ~N Activity rows with contact_id pointing to it3. DeleteContactJob: :dispatch(Scontact->id) - which then runs the traitThat's heavier setup. Skip unless you need to verify the trait's transaction behavior.Code: extend JiminnyDebugCommand0 JiminnyDebugCommand.phptests/Unit/lobs/Middleware/M HandleHubsnotRateLimitTest.ohv +155Ask anvthina (&4L)+ « CodeClaude Onus 4.7 MediumView all* Reiect allAccent allWN Windsurf Toams 1-1UTF.8io 4 spaces...
|
PhpStorm
|
faVsco.js – RateLimitExceptionTest.php
|
NULL
|
17020
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhostormcodeFV faVsco.js°9 JY-20725-handle-HS-search-rateProiect› D HelpersC) HubsootPaginationService.ongU huospot_ ActionsODTOu rielosW JournalOpportunitySyncStrateav _ Pagination© HubspotPaginationSc) PaginationContiatesc) PacinationStateliestProspectSearchStrateg)M ServiceTraitsWebhool@ BatchSvncCollectorTestC) BatchSvncRedisServicec) ClientTest.oho(c Closedbea StadosServiaC DealFieldcServiceTest nC) DecorateActivitvTest nhi FieldDefinitionsTest.phg© FieldTypeConverterTesi© HubspotTokenManager© PayloadBuilderTest.php(i PemoteCrmObiectmanis(ei DocnancoNormalizoTodiC ServiceResponseNorma" ServiceTest.php© SyncFieldActionTest.ph© SyncRelatedActivityMarc) WebhooksyncBatchPro> C IntegrationApp•Dusteners• _ Pioedrivev SalesforceM FieldsOpportunitvMatcher@poortunitvSvncStrateaProspectSearchStrategy• Service TraitsC) ClientTest ohnC) DecorateActivitvTest.nhC) Delete@biectsTraitTestC) CieldDefinitionsTest nhnC) GetActivitvFieldNameTePayloadBuilder Test.php© QueryBuilderTest.php© QueryHandlerTest.php© QuerylteratorTest.php(8 QuervResultsTests.phpServiceTest.phpTacts failed. 1 nacced. 70 (6 min© PlaybackController.php© Job.phrRateLimitException.php(C) HandleHubspotRateLimit.phpC) Client.phpC) ClientTest.php X (C) Kernel.phoC) CrmObiectsResolver.php(C) ProviderRateLimiter.phpC) PaqinationContia.phpdeclarelscricrcypes=1rnamespace Tests Unit Services crm Hubspot:› luse ...* druntestsinSenarateProcesses* @preserveGlobalState disabled)Run 'ClientTest (PHPUnit)"HÜ Debug 'ClientTest (PHPUnit)'(P Run 'ClientTest (PHPUnit)' with CoveragePE_STAGE_FIELD = 'stage';Modify Run Configuration….private const string RESPONSE_TYPE_PIPELINE_FIELD = 'pipeline':3 usagesprivate const string RESPONSE_TYPE_REGULAR_FIELD = 'regular':* @var Client&Mock0bject9/ usagesprivate Client Sclient:private Confiquration Sconfig:* ovar SoczalaccountServicexmockobnectprivate SocialAccountService SsocialAccountServiceMock:*@var HubsootPaginationService.Mock0biectAuucadosnnivate HuhsnotPaginationSenvice SnaginationServiceMock•* Qvan HuhsnotTokenManaaenSMock0hiectA17 A136 M11 M VA SF (jiminny@localhost]f hs_local uiminny@localnosyA console [pRODltconsole [EUiA console [STAGING]1742174617471748174917581754—175— 1759-1761=17621763176417651767TJY[2026-05-11 11:21:45] local.INF0: [HubSpot Journal Pollingl No dataf"correlation.id": "954d156d-8a4f-45."[2026-05-11 11:21:451 LocaZ.WARNING: [HubSpot Journal Polling) Maximum empty results reached, stopping f'empte[2026-05-11 11:21:45] local.WARNING: [HubSpot Journal Pollingl Maximum empty results reached, stopping {"empty.[2026-05-11 11:21:45] local.INF0: [HubSpot Journal Pollingl Service ending {"runtime_seconds":57 "total_cycles[2026-05-11 11:21:46] local.INF0: [HubSpot Journal Polling] Saved offset to database on cleanup {"offset":"019€2020-05-11 11.21.40 LocaL.LNFU.:[HubSpot Journal Pollingl Released polling lock {"correlation_id":"954d156d-2026-05-11 11.21.48 LocaL.LNFU:[2026-05-11 11:21:481 local.INF0:Jaminny console commanas.comnand::run Memory usage before starting command {"[EmailSchedulel STARTING batch process {"ho2826-05-11 11:21:4811EmarlSchedulel FINIShED batch process[2026-05-11 11:21:481 local.INF0:Jiminny\Console\Commands\Command::run Memory usage for command {"command" : "me2826-05-11 11:21:59 Local.INF0:Memory usage before starting command f[2026-05-11 11:22:001local. INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command" : "cnsvnc.uospotibnects Startina sunc <"team":"020115e0-95ce-4010-929c-1757570F8Local.WARNING: [HubSpot) Account not connected for user {"userId":"33e34a7a-1c02-4f04-8Za[CrmOwnerResolverl Integnation owner is not connected, attemptina team membc..[2026-05-11 11:22:00]2026-05-11 11:22:001|[CrmOwnerResolver] No team members found with active crm connection {"crm_proCrm0wnerResolver No team member found with active crm connection «"crm orov[2026-05-11 11:22:00] local.INF0:2926-05-11 11•22•9911Tocal. TASD•[SyncHubspot0bjects] Sync finished {"team":"b2b115eb-93ce-4d1b-929c-173757df8Svncluhsnotnhnectsl Stantina cvnc "teaml.llahap74h8-hfa8-/383-0a7f-80F4h£2m[2026-05-11 11:22:00] local.INFO:[SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hợt2026-05-11 11•22•001 local TNS0• [SocialAccountSenvicel Token notnieved &isocialAccounttd".1409 "nnoviden"•"hi[2026-05-11 11:22:00] Local.INFO: [EncryptedTokenManager] Generating access token. {"mode": "Legacy"} {"correlai2026-05-11 11-22-001 Tocal TAE0-[CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"ho[2026-05-11 11:22:00] local.INF0: [HubSpot] Syncing opportunities using strategy: lastModified {"team":2} {"con2026-05-11 11•22•011 local TAS0• Hubsnot Pacination comnleted siteam idi.2 "endnointi.lhttnc.|lani huhanicr[2026-05-11 11:22:01] Local.INFO: [HubSpot] Synced opportunities {"team":2, "strategies":"lastModified" "sync_co[2026-05-11 11:22:01] local.INF0: [SyncHubspot0bjects] Sync finished {"team":"abae74b8-bfa8-4383-9a7f-89f4bf250[2026-05-11 11:22:01] local. INFO: [SyncHubspot0biectsl Starting sync {"team": "c6b9d6b0-b48d-4832-a68c-a57d60651[2026-05-11 11:22:01] local.WARNING: [HubSpot] Account not connected for user {"userId": "71e3aac5-fb66-47c5-a27[2026-05-11 11:22:01] local.INF0: [Crm0wnerResolver] Integration owner is not connected, attempting team memben2026-05-11 11:22:01 Local.INFU:[CrmOwnerResolver] No team members found with active crm connection {"crm_ poo2026-05-11 11:22:01 Local.INFU:[CrmOwnerResolver] No team member found with active crm connection {"crm_prev2026-05-11 11:22:01 Local.INFU:[SyncHubspot0biects] Sync finished {"team":"c6b9d6b0-b48d-4832-a68c-a57d6065a[2026-05-11 11:22:01] local.INF0: [SyncHubspot0biectsl Starting sync {"team":"b2d49a54-b645-4637-a7ae-a86cfce6€2026-05-11 11:22:01 LOCOL,WARNING"fHubSpotl Account not connected for user {"userId"."2ac0447f-3c8c-4ce0-bas2026-05-11 14:22:01 LOCOLINFOY2026-05-11 11:22:011 Locali2026-05-11 11:22:011 LocaL.INF0:[2026-05-11 11:22:011 local, INF0:2026-05-11 11:23:061 LocaL.INF0:ermownerResolverintearationowner is not connected, attempting team member[Crm0wnerResolver] No team membens found with active crm connection {"crm o[Cem0wnerResolver] No team member found with active crm connection {"erm ora[SvncHubspot0biectsl Svnc finished {"team"."62d49a54-b645-4637-a7ae-a86cfce6Jiminnv\ Console\ Commands\ Command::run Memory usage before starting command {"[ScheduleRotCommandl Numben of activities to he canturede o"corne' ationmMemony usade fon command {"commandil."mJiminny\Console\Commands\Command::run Memory usage before starting command {liminnv Console Commands Command• •run Memony usade fon command "command"•"dilocal NOTTCE• Monitonina stantMonitonina endSiconnelation idi."6d366728-eAh2-43d4-0h00-Re0d3d01dQae"_"2926-05-11 11•23•1111local.INF0: Jiminny \Console\Commands\Command::run Memory usage before starting command <12004-05-11 11.92:111Tocal TASh• liminnv Concolo Commande Command• •nun Momony ucado fon command dllcommandil. iImelibl100% Lz9. Mon 11 May 17:25:38HubSpot Rate Limit ReClientTest+0..Add coverace for new methods in aclient.ohnYour included daily usage quota is exhausted. Purchase extra usage to continue using premium models. Quota resets MayA Your included daily usage quota is exhausted. Purchase extra usage to continue using premium models. Quota resets May 12, 11:00Ask anvthina (&4L)< Codec AdantiveW Windcurf Teame A9.22TБ on...
|
PhpStorm
|
faVsco.js – ClientTest.php
|
NULL
|
20063
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
PhpStormVIewINavicareCodeLaravelKeractorTOOISWindowFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiect© BatchSyncCollectolhuospot/service.onpT SyncCrmEntitiesTrait.phpc) CachedCrmServiceDecorator.onge balchsynckealssec clientoneo closeaDealstagesso RematchActivityonCrmObiectDetach.pngDealrielasservice.gc)Decorateacuivilv.or© FieldDefinitions.phrC) FieldT vpeconvertee Hubspotclientinterc) Hubspotlokenman© PayloadBuilder.phpC) RemotecrmobiectrP ResponseNormalizec) Service.onrC)SvncFieldAction.onC) SvncRelatedActivitC) WebhookSvncBatclv MintearationAorM AcceccorsConfigD DTO• M SiltersD JobsM ProspectSearchStrW service Iralts© DataClient.php© DecorateActivity.ph(c) LocalSearch.one• LocalSearchInterfa© RemoteSearch.phpc) Service.phpv W Listeners© ConvertLeadActivitc) PurceLookuocache> M Metadata> Miarationi> M Pipedrivev Salesforce• D FieldsM OnnortunitvMatcheMOnnortunitvSvneStlM ProsneetSearchStr.• M ServiceTraitcC) Client nhr© DecorateActivity.ph. Delete@biectsTrait© FieldDefinitions.php© PayloadBuilder.php© Profile.php© QueryBuilder.phpTacts naccod. 12 (50 minutes aao)© MatchActivityCrRateLimitexceptionBadkequest.onoC)CrmObiectsResolver.pho() ProviderRateLimiter.phpC) PaqinationContia.phpclass Cuient extends Baseclient imolements Hubspotcuientinterface C184186 G195 Gpublic function parseRetryAfter(Throwable $e): int=> get_class(Se)return 10:2 usagespublic function parseMessage(Throwable se): stringif (! method_exists($e, method: 'getResponseBody)) {$body = Se->getResponseBodyO:if (is_string(Sbody)) {$body = json_decode ($body,associative: true 22 12if (! is_array($body)) {netunn 1t.return (string) (Sbody['message'] ?? ••):pubLic function qetMinimumApiVersiono: stringreturn selt::MIN_API_VERSIOMoublic function getinstance@: Factorvreturn new FactorvCI"oauth2'hase un' => Sthis->haselini.public function getNewInstance(): Discoverydits +v Accept File *+ X Reject File 4*€4 HS_local (jiminny@localhost]# console [PKoD)A console (EU]A console [STAGING][2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Vace".L"Inu,or May 2020 14.21.15 bMlJw19A©MatchCrmData.phphlPreparation tor kerl…. In oymCascadeHubspot Rate LimitThought for 5s ›Read Client.php #L86-200b Client.phpVerify nothing broke:Command docker. tail100% Lz• Mon 11 May 14:01:35HandleHubspotRateLimitTest v+0 ..lets simplify it, just call it parseMessage and skip policy al together+17 -35"Strict-Transport-Security":"max-aqe=31536000* 1ncLudesubDomains: preload").server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\","x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],"Set-Cookie":["__cf_bm=S1UrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTg07-May-26 14:51:15 GMT; domain=.hubapi.com; Http0nly; Secure; SameSite=None"],\"url\":"https:|\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEg2\"group\":\"cf-nel\".\"max_age)":604800}"],"Server": ["cloudflare"]}} {I"trace_1d":"C/aD8565-905t-4604-9405-0e5b551e5545'aon/Services/Crm/Hubsoot/m Client.ohv +2 -6Ask anvthina 84L)Claude Onus 1.7 MediumView all* Reiect allAccent alliW Windsurf Toams 165:10 (15 charc) UTF.8io 4 spaces...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
18175
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
SlackFileEdit ViewGoHistoryWindowHelp000DOCKER₴1DEV (docker)882DEV (d)APP (-zsh)• xзmasterJY-20818-move-AJ-reports-to-separated-datadog-metricJY-20773-fix-automated-reports-user-pilot-trackingJY-20157-AJ-report-not-send-notificationJY-20508-notify-before-AJ-report-expirationJY-20372-ai-reports-promotion-pagesJY-20352-sync-opportunities-without-a-local-owner-user-id-is-nullJY-20738-debug-AJ-tracking-UPJY-18909-automated-reports-ask-jiminnyJY-20692-fix-integration-app-[API_KEY]@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-Lirroot@docker_lamp_1:/home/jiminny# ]•HomeDMsActivityFilesLater..•More• Support Daily - in 3h 35 m100% <78• Mon 11 May 11:25:09ED→Describe what you are looking forJiminny ...Chsmechuus# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of _jimi...0 Direct messagesa. Stefka Stoyanova€. Vasil VasilevNikolay IvanovD. Galya DimitrovaAneliya Angelova, .... Stoyan Tanev@. Ves®. Aneliya Angelova& James GrahamLukas Kovalik y...::: Apps# releases8 226 0• Messages+2C FilesBookmarksclaude-great-arToday~Show more(jiminny/app Added by GitHubCircleCl APP 10:35 AMDeployment Successful!Project: appWhen:05/11/202607:35:21Tag:View JobNewToastJira CloudGoogle Cale...CircleCl APP11:00 AMNew commits deployed to Prophet Prod-US:[e568c4f](https://github.com/jiminny/prophet/commit/e568c4f3b57c9392883f81974b6db3dd09a23a1e) - [JY-20832](https://jiminny.atlassian.net/browse/JY-20832): Remove usage of grok 4.0 and 4.1 models(#506) (steliyan-g)New commits deployed to Prophet Prod-EU:[e568c4f](https://github.com/jiminny/prophet/commit/e568c4f3b57c9392883f81974b6db3dd09a23ale)- [JY-20832](https://jiminny.atlassian.net/browse/JY-20832): Remove usage of grok 4.0 and 4.1 models(#506) (steliyan-g)Message #releases(1+Aa..•...
|
PhpStorm
|
faVsco.js – custom.log
|
NULL
|
16196
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER© *1DEV (docker)₴2APP (-zsh)-zsh* @param string SobjectType The object type('deals''companies''contacts''cal)* @param array<string, mixed>Spayload Thesearch payload with filters, sorts, prop‹* @return array The search response with'results''total'*'paging'keys* @throws RateLimitException When rate limit is hit* @throws HubspotException On API errors** @return array The search response with 'results', 'total', 'paging' keys*/public function search(string SobjectType, array Spayload): arrayend diff4) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation)begin diff --/home/jiminny/app/Console/Commands/JiminnyDebugCommand.php+++/home/jiminny/app/Console/Commands/JiminnyDebugCommand.php-359,11+359,11 @ScrmService = ScrmResolver->prepareCrmService);-//-/1for ($i = 0; si < 3; Si++) {if (Si % 250) {Sthis->info("Syncing opportunity {Si}");Sthis->info("Matching contact {$i}");-1/-1/.+++++ScrmService->syncOpportunity('374720564');if ($i % 25=0{//Sthis->info("Syncing opportunity {$i}");Sthis->info("Matching contact {$i}");////}ScrmService->syncOpportunity('374720564');$crmService->matchByName('Robot');end diffFixed 4 of 5666 files in 146.870 seconds, 60.00 MB memory usedWhat's next:Try Docker Debug for seamless, persistent debugging tools in any containeror image →Learn more at https://docs.docker.com/go/debug-cli/lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-lirHomeDMsActivityFilesLater..•Morelaol•Preparation for Refi... 7 m left100% <8• Mon 11 May 15:53:19Describe what you are looking forJiminny ...# contusion-clinic# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messagesP. Aneliya Angelova®. Galya DimitrovaPetko Kashinski&. Stefka StoyanovaVasil Vasilev&. Nikolay IvanovAneliya Angelova, ...Stoyan Tanev• VesE Lukas Kovalik y... 0E:: AppsS Jira CloudToastGanala Cala# releases8 226 0• Messages+C Files• Bookmarks20832): RemoveToday ~ ok 4.0 and 4.1 models(#506) (steliyan-g)NewGitHub APP 2:13 PM9 new commits pushed to master by ilian-jiminny861859d2 - Stop sending signals to datadog forincresed/ decreased workers.23ad2bb1 - Drop usage of RunForSeconds.3aedca4a - Generage Workerld on the fly.86cb0855 - ignore-missing-request-id-on-transcript Handle wrong format for assemblytranscriptions, this happends for old activitiesthat had a different provider and were updatedto point to Assembly when the providers weredeleted49ca4dfe - ignore-missing-request-id-on-transcript added log importShow morejiminny/app| Added by GitHubCircleCI APP 2:38 PMDeployment Successful!Project: appWhen:05/11/202611:38:14Tag:View JobMessage #releases+..•...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
19460
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER₴81DEV (docker)₴2APP (-zsh)-zsh* @param string SobjectType The object type('deals''companies''contacts''cal)* @param array<string, mixed>Spayload Thesearch payload with filters, sorts, prop‹* @return array The search response with'results''total''paging'keys* @throws RateLimitException When rate limit is hit* @throws HubspotException On API errors** @return array The search response with 'results', 'total', 'paging' keys*/public function search(string SobjectType, array Spayload): arrayend diff4) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation)begin diff --/home/jiminny/app/Console/Commands/JiminnyDebugCommand.php+++/home/jiminny/app/Console/Commands/JiminnyDebugCommand.php-359,11+359,11 @ScrmService = ScrmResolver->prepareCrmService);-//-/1for ($i = 0; si < 3; Si++) {if (Si % 250) {Sthis->info("Syncing opportunity {Si}");Sthis->info("Matching contact {$i}");-1/-1/.+++++ScrmService->syncOpportunity('374720564');if ($i % 25=0{//Sthis->info("Syncing opportunity {$i}");Sthis->info("Matching contact {$i}");////}ScrmService->syncOpportunity('374720564');$crmService->matchByName('Robot');end diffFixed 4 of 5666 files in 146.870 seconds, 60.00 MB memory usedWhat's next:Try Docker Debug for seamless, persistent debugging tools in any containeror image →Learn more at https://docs.docker.com/go/debug-cli/lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-lirHomeDMsActivityFilesLater..•More(abl• [Platform) Refinemen... now100% C8• Mon 11 May 16:09:44→Describe what you are looking forJiminny ...# contusion-clinic# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of_jimi...^ Direct messagesP. Aneliya Angelova®. Galya DimitrovaPetko Kashinski&. Stefka StoyanovaVasil Vasilev&. Nikolay IvanovAneliya Angelova, ...Stoyan Tanev• VesE Lukas Kovalik y... 0E:: AppsS Jira CloudToastGanala Cala# releases8 226 0• Messages+C Files• Bookmarks20832): RemoveToday ~ ok 4.0 and 4.1 models(#506) (steliyan-g)NewGitHub APP 2:13 PM9 new commits pushed to master by ilian-jiminny861859d2 - Stop sending signals to datadog forincresed/ decreased workers.23ad2bb1 - Drop usage of RunForSeconds.3aedca4a - Generage Workerld on the fly.86cb0855 - ignore-missing-request-id-on-transcript Handle wrong format for assemblytranscriptions, this happends for old activitiesthat had a different provider and were updatedto point to Assembly when the providers weredeleted49ca4dfe - ignore-missing-request-id-on-transcript added log importShow morejiminny/app| Added by GitHubCircleCI APP 2:38 PMDeployment Successful!Project: appWhen:05/11/202611:38:14Tag:View JobMessage #releases+..•...
|
PhpStorm
|
faVsco.js – MatchActivityCrmDataTest.php
|
NULL
|
19608
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
SlackFileEditViewGoHistoryWindowHelpDOCKER0 81DEV (docker)882DEV (d)APP (-zsh)• xзmasterJY-20818-move-AJ-reports-to-separated-datadog-metricJY-20773-fix-automated-reports-user-pilot-trackingJY-20157-AJ-report-not-send-notificationJY-20508-notify-before-AJ-report-expirationJY-20372-ai-reports-promotion-pagesJY-20352-sync-opportunities-without-a-local-owner-user-id-is-nullJY-20738-debug-AJ-tracking-UPJY-18909-automated-reports-ask-jiminnyJY-20692-fix-integration-app-[API_KEY]@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-Lirroot@docker_lamp_1:/home/jiminny# ]HomeDMsActivityFilesLater..•More(aolSupport Daily • in 2 h 50 ml100% C8• Mon 11 May 12:10:24ED→Describe what you are looking forJiminny ...crsmecruus# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of_jimi...0 Direct messagesa. Stefka Stoyanova€. Vasil Vasilevo Nikolay Ivanov. Galya DimitrovaAneliya Angelova, .... Stoyan TanevVes®. Aneliya Angelova& James GrahamE Lukas Kovalik y...:: AppsJira CloudLToastGoogle Cale...Stefka Stoyanova• Messages7 Untitled+C Files7 Untitledluesaay, April 28th ~Today ~Stefka Stoyanova 10:08 AMЛукаш, щом пре-рефайнмънта и рефайнмънтаще са само за МСР ако искаш не идвай да сигубиш времетоLukas Kovalik 10:12 AMда, няма да идвамStefka Stoyanova 11:35 AMЛукаш, ще сложиш ли естимейт наhttps://jiminny.atlassian.net/browse/JY-20818Jira Cloud -Move Ask Jiminny reports to separate...Bug JY-20818 in Jira CloudStatusDeployedPriority= MediumAssigneeLukas Koval...As of today at 11:35 AMOpen in Jira* SummariseMessage Stefka Stoyanova......
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
16609
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
SlackFileEditViewGoHistoryWindowHelpDOCKER181DEV (docker)$2APP (-zsh)883viewsjiminny-worker-processing-2:jiminny-worker-processing-2_00: stoppedjiminny-worker-processing-3:jiminny-worker-processing-3_00: stoppedjiminny-worker-processing-4: jiminny-worker-processing-4_00: stoppedJiminny-worker-processing-5:j1minny-worker-processing-5_00:jiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-conferences:worker-conferences_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00: stoppedworker-emails:worker-emails_00: stoppedworker-nudges:worker-nudges_00: stoppedworker:worker_00: stoppedworker-audio:worker-audio_00: stoppedworker-calendar:worker-calendar_00: stoppedworker-crm-sync:worker-crm-sync_00: stoppedartisan-schedule:artisan-schedule_00: stoppedworker-es-update:worker-es-update_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00:jiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00: startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00: startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny#php artisan jiminny:debugDispatching 100 MatchActivityCrmData jobs (portal=2)Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.root@docker_lamp_1:/home/jiminny# php artisan jiminny:debugDispatching 100 MatchActivityCrmData jobs (portal=2)Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.root@docker_lamp_1:/home/jiminny# ]DEV (d)-zshHomeDMsActivityFilesLater...MorelallSupport Daily • in 1h 16 m100% <78• Mon 11 May 13:44:19ED→Describe what you are looking forJiminny ...# contusion-clinic# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...ToastHomeMessages^ Direct messages®. Aneliya Angelova®. Galya Dimitrova& Petko Kashinski&. Stefka StoyanovaVasil Vasilev OlC. Nikolay IvanovAneliya Angelova, ...Stoyan Tanev®. VesE Lukas Kovalik y... 0AboutiminnyFriday, May 8th ~Added by Toast for GitHubToday ~Toast APP10:00 AMReviewapp#12059 Jy 20820 es reindexstream model hydration2 days old • 12 files changed •@Vasil VasilevAdded by Toast for GitHubResolve Conflictsapp#11443 Test hublets latency5 months old • 20 files changed#11327 JY-19501 webhookbased opportunity syncShow moreAdded by Toast for GitHubNeeds Loveapp#12024 JY-20773 fix user pilottracking ofr automated reportgenerated12 days old • 1 file changedE:: AppsMessage ToastJira CloudToast+AaConala CalaNew...
|
PhpStorm
|
faVsco.js – Client.php
|
NULL
|
17988
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
SlackFileEditViewGoHistoryWindowHelpDOCKERO 81DEV (docker)882DEV (d)APP (-zsh)• xзmasterJY-20818-move-AJ-reports-to-separated-datadog-metricJY-20773-fix-automated-reports-user-pilot-trackingJY-20157-AJ-report-not-send-notificationJY-20508-notify-before-AJ-report-expirationJY-20372-ai-reports-promotion-pagesJY-20352-sync-opportunities-without-a-local-owner-user-id-is-nullJY-20738-debug-AJ-tracking-UPJY-18909-automated-reports-ask-jiminnyJY-20692-fix-integration-app-[API_KEY] laysJY-20698-fix-SF-activity-types-on-new-playbookJY-20543-AJ-report-trackingJY-20384-handle-auto-sync-with-no-access-to-event-typeJY-20458-ask-Jiminny-user-definitionsJY-19666-fix-import-contacts-account-associationJY-19666-HS-import-contacts-and-accounts-batch-jobJY-20458-Ask-Jiminny-ReportsJY-20200-batch-update-CRM-objects-SalesforceJY-19666-HS-webhooks-add-contact-and-companyJY-20348-trigger-setup-DI-layout-on-team-creationJY-20326-refactor-info-message-in-commandJY-20317-fix-auto-log-delay-issue-on-all-channels-disabledJY-20312-remove-on-update-change-last-synced-at-crm-configurationsJY-20306-SF-skip-auto-sync-for-task-based-playbookJY-20192-remove-deleted-team-from-saved-search-filtersJY-20197-import-opportunity-batch-jobJY-20293-enable-status-field-for-pipedrive-dealsJY-20191-remove-commands-interactive-promptsJY-20118-change-default-sync-strategyJY-20183-add-cache-on-auto-log-delayJY-20197-add-import-opportunity-batch-job20118-hs-opportunity-make-webhook-strategy-defaultJY-20118-make-default-hs-opportunity-sync-strategy-webhook-basedJY-20196-handle-opportunity-without-noteJY-20118-improve-opportunity-importJY-20189-handle-activity-search-on-deleted-groupsJY-20145-filter-out-converted-leads-when-matchingJY-20150-skip-push-summary-on-summary-ready-1f-autologJY-20132-fix-note-encodingJY-19792-clean-logslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-Lirroot@docker_lamp_1:/home/jiminny# ]HomeDMsActivityFilesLater..•More(aolSupport Daily • in 3 h 37 m100% C8• Mon 11 May 11:23:32ED→Describe what you are looking for# releasesJiminny ...Chsmechuus# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of_jimi...0 Direct messagesa. Stefka Stoyanova€. Vasil VasilevNikolay IvanovD. Galya DimitrovaAneliya Angelova, .... Stoyan Tanev@ Ves®. Aneliya Angelova& James GrahamLukas Kovalik y...i:: Apps8 226 0• Messages+2C FilesBookmarksclaude-great-arToday~Show more(jiminny/app Added by GitHubCircleCl APP 10:35 AMDeployment Successful!Project: appWhen:05/11/202607:35:21Tag:View JobNewToastJira CloudGoogle Cale...CircleCl APP11:00 AMNew commits deployed to Prophet Prod-US:[e568c4f](https://github.com/jiminny/prophet/commit/e568c4f3b57c9392883f81974b6db3dd09a23a1e) - [JY-20832](https://jiminny.atlassian.net/browse/JY-20832): Remove usage of grok 4.0 and 4.1 models(#506) (steliyan-g)New commits deployed to Prophet Prod-EU:[e568c4f](https://github.com/jiminny/prophet/commit/e568c4f3b57c9392883f81974b6db3dd09a23ale)- [JY-20832](https://jiminny.atlassian.net/browse/JY-20832): Remove usage of grok 4.0 and 4.1 models(#506) (steliyan-g)Message #releases(1+Aa..•...
|
PhpStorm
|
faVsco.js – custom.log
|
NULL
|
16188
|
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
SlackFileEditViewGoHistoryWindowHelpDOCKERO 81DEV (docker)882DEV (d)APP (-zsh)• xзmasterJY-20818-move-AJ-reports-to-separated-datadog-metricJY-20773-fix-automated-reports-user-pilot-trackingJY-20157-AJ-report-not-send-notificationJY-20508-notify-before-AJ-report-expirationJY-20372-ai-reports-promotion-pagesJY-20352-sync-opportunities-without-a-local-owner-user-id-is-nullJY-20738-debug-AJ-tracking-UPJY-18909-automated-reports-ask-jiminnyJY-20692-fix-integration-app-[API_KEY] laysJY-20698-fix-SF-activity-types-on-new-playbookJY-20543-AJ-report-trackingJY-20384-handle-auto-sync-with-no-access-to-event-typeJY-20458-ask-Jiminny-user-definitionsJY-19666-fix-import-contacts-account-associationJY-19666-HS-import-contacts-and-accounts-batch-jobJY-20458-Ask-Jiminny-ReportsJY-20200-batch-update-CRM-objects-SalesforceJY-19666-HS-webhooks-add-contact-and-companyJY-20348-trigger-setup-DI-layout-on-team-creationJY-20326-refactor-info-message-in-commandJY-20317-fix-auto-log-delay-issue-on-all-channels-disabledJY-20312-remove-on-update-change-last-synced-at-crm-configurationsJY-20306-SF-skip-auto-sync-for-task-based-playbookJY-20192-remove-deleted-team-from-saved-search-filtersJY-20197-import-opportunity-batch-jobJY-20293-enable-status-field-for-pipedrive-dealsJY-20191-remove-commands-interactive-promptsJY-20118-change-default-sync-strategyJY-20183-add-cache-on-auto-log-delayJY-20197-add-import-opportunity-batch-job20118-hs-opportunity-make-webhook-strategy-defaultJY-20118-make-default-hs-opportunity-sync-strategy-webhook-basedJY-20196-handle-opportunity-without-noteJY-20118-improve-opportunity-importJY-20189-handle-activity-search-on-deleted-groupsJY-20145-filter-out-converted-leads-when-matchingJY-20150-skip-push-summary-on-summary-ready-1f-autologJY-20132-fix-note-encodingJY-19792-clean-logslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-Lirroot@docker_lamp_1:/home/jiminny# ]•HomeDMsActivityFilesLater..•More(aol§ Support Daily - in 3h 22 m100% <78• Mon 11 May 11:38:29ED→Describe what you are looking forJiminny ...Chsmechuus# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of_jimi...# releases8 226 0• Messages+• Direct messagesa. Stefka Stoyano...€. Vasil VasilevNikolay Ivanov. Galya DimitrovaAneliya Angelova, .... Stoyan Tanev@ Ves®. Aneliya Angelova& James GrahamLukas Kovalik y…..:: AppsC FilesBookmarksclaude-great-arToday~Show more(jiminny/app Added by GitHubCircleCl APP 10:35 AMDeployment Successful!Project: appWhen:05/11/202607:35:21Tag:View JobNewToastJira CloudGoogle Cale...CircleCl APP11:00 AMNew commits deployed to Prophet Prod-US:[e568c4f](https://github.com/jiminny/prophet/commit/e568c4f3b57c9392883f81974b6db3dd09a23a1e) - [JY-20832](https://jiminny.atlassian.net/browse/JY-20832): Remove usage of grok 4.0 and 4.1 models(#506) (steliyan-g)New commits deployed to Prophet Prod-EU:[e568c4f](https://github.com/jiminny/prophet/commit/e568c4f3b57c9392883f81974b6db3dd09a23ale)- [JY-20832](https://jiminny.atlassian.net/browse/JY-20832): Remove usage of grok 4.0 and 4.1 models(#506) (steliyan-g)Message #releases1+Aa..•...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
NULL
|
16307
|