|
89074
|
SlackHomeActivityFilesLaterMoreVIewJiminny... v@ j SlackHomeActivityFilesLaterMoreVIewJiminny... v@ jiminny-x-integrati• plattorm-inner-teamE Channels# ai-chapter# alertsi backend# confusion-cliniccuriosity ab# engineering# generall# infra-changes#jiminny-bg# platrorm-tickets# product launches# random# releases# sofia-office# support# thank-yous# the people of iimi..A Direct messagesGalva Dimitrova Df0. Aneliya Angelova8. Vasil Vasilev3 Aneliya Angelova, ...o Nikolay YankovQ Nikolav Ivanov. Nikolay Nikolov2 Stefka StovanovaQ Adelina DetrovalStoyan Tomov( Petko Kashinski&. Mario GeorgievSs: Todor Stamatov.R. Cabriele Dureve#::Annd#" Jira CloudB ToastMistonWindowHelp@ Describe what you are looking for"rreleases• Messagesr Files• BookmarksWnen: 04/2// Z0zo 11:35:50View JobGitHub APP 2:42 PM1/ new commits pushed to master by lodorstamatov)iminnve42c672c - JY-20478: implement stop sync calendar events on revoked grants8cf15566 - JY-204/8: nx unit tests6425ebb4 - JY-204/8: add migration for calendars.status to allow 20 chars65088554 - JY-204/8: hx warning messages, uodate calendar/emalls status on successjiminny/app Added by GitHubCircleCl APP 3:05 PMDeployment Successful!Project: appWhen• 04727/2024 12-05-14lagView JobCi+Hmh App 2.14 DN20 new commits pushed to master by mihailmihaylovjiminny2oc71c26 - IV-19995• Undate commandi602h8c5f - IV-19995• Delete unuced c? directoriecbesbelsb -Jr-ly77o. Upaate logs8d5a041b - JY-19995: Fix cs/testse6bd5b18 - Merge branch 'master' into JY-19995-delete-leftover-tracks-commandshow moreaiminny/app Added by GitHulCircleCl APP 3:37 PM• Deployment Successful!Proiect. annWhen: 04/27 202612-37-16Thg!View lobMessage #releases8 22sonarqub. 36ninny leam 3ninny Team. .. sonarau. 4m... sonarau. 4DOHR1 sonarqub. 11v Yankovy Yankov 6ninny Team. sonarau. 8n. .. Nikolav 7n. sonarauh. ?. steliya. 28sonarqu. 11stefka-. 6sonarau. 121No thanks100% C7Mon 27 Apr 18:39:21DActivev1-50 ot 25.346Your Daily Digest from Datadog - The Daily Digest for Jiminny, Inc. Here's what happened in Datadog on April 26. Metric Alerts 1 Total Event 1 Alert Recovered [Recovered) Dialers Stats..[jiminny/infrastructure] JY-20556 Fix critical vulnerabilities (PR #725) - sonarqubecloud[bot) left a comment (jiminny/infrastructure#725) Quality Gate Passed Quality Gate passed .Your 'Not enough activities' report wasn't generated - Hi there, We weren't able to generate your 'Not enough activities' report for 19 - 25 Apr 2026, as no calls matched your selected filt.Your 'Not enough activities' report is expiring soon - Hi there. Your 'Not enough activities' Ask Jiminny report is set to expire on 4th May. To keep receiving it, head to Jiminny → Al Re.[iiminny/prophet] JY-19314: Test OD ai-call-score (PR #412) - You can view, comment on, or merge this pull request online at: https://aithub.com/iiminnv/prophet/pull/412 Commit Su.[jiminny/prophet] JY-19317: Test Al call score on Earth (PR #427) - You can view, comment on, or merge this pull request online at: https://github.com/jiminny/prophet/pull/427 CommWelcome Kara Jones to Jiminny - Welcome Kara Jones! Kara is joining us as Head of Customer Success Kara Jones Head of Customer Success UK Hey Team, We are happy to have Ka..Your Daily Digest from Datadog - The Daily Digest for Jiminny, Inc. Here's what happened in Datadog on April 24. Metric Alerts 2 Total Events 2 Alerts Recovered [Recovered) Dialers St..Daily digest: updates from Galya Dimitrova - 25 April 2026 Your top highlights, all in one place—see what's changed on content you've contributed to. Top post Jiminny MCP Connect...Your Daily Digest from Datadog - The Daily Digest for Jiminny, Inc. Here's what happened in Datadog on April 23. Metric Alerts 1 Total Event 1 Alert Triqgered [Triqgered] Dialers Stats .[iiminny/infrastructurel JY-20225 Add more spot instance tvpes (PR #715) - You can view, comment on. or merae this pull reauest online at: httos://aithub.com/iiminnv/infrastructur[iiminnv/desian-tokensl Release v1.0.9 - v1.0.9 Add oromotion page assets - v1.0.9 Add oromotion nage assets Renositorv: iiminnv/desian-tokens . Taa: v1.0.9 . Commit: da7930a ....[jiminny/design-tokens] Add promotional SVG assets (PR #29) - ...d feedback You can view, comment on, or merge this pull request online at: https://github.com/jiminny/design-toke…Your 'Not enpough activities' report wasn't generated - Hi there, Hi there, We weren't able to generate your 'Not enpough activities' report for 12 - 18 Apr 2026, as no calls matched your ...Daily digest: updates from Galya Dimitrova - 24 April 2026 Your top highlights, all in one place—see what's changed on content you've contributed to. Top post Jiminny MCP Connector ...Updated invitation: Lukas/Stefka 121 @ Fri Apr 24, 2026 2pm - 2:30pm (GMT+3) (Lukas Kovalik) - Lukas/Stefka 121 Join with Google Meet - You have been invited by Stefka Stovanova to .Your Dailv Digest from Datadoa - The Daily Diaest for Jiminnv. Inc. Here's what happened in Datadoa on April 22. Metric Alerts 2 Total Events 2 Alerts Recovered [Recoveredl Video au..fiiminny/orophet] .JY-20276: Fix Azure Grok deplovment name (PR #495) - You can view, comment on. or merae this pull reauest online at: [URL_WITH_CREDENTIALS] pushed 1 commit. 276dabO Merge branch 'master' into azure-grok-new-keys-2 — View it on GitHub or unsubscri...[jiminny/prophet] JY-20731 Switched schema for scorecards to dynamic from static one to... (PR #492) - ... ensure that each scorecard rule is scored once You can view, commen.[iiminny/prophet] JY-20726: Identify participants rare lang Azure Grok (PR #491) - You can view, comment on, or merge this pull reauest online at: httos://aithub.com/iiminnv/proph…liiminnv/orophet] Evals more vod (PR #478) - You can view, comment on. or merae this oull reauest online at: httos://aithub.com/iiminnv/oronhet/oull/478 Commit Summarv a10e96d e…Dailv diaest: undates from Galva Dimitrova & Desislav Damvanoy - 23 Anril 2026 Your ton hiahliahts all in one nlace-see what's changed on content vou've contributed to. Ton nos |[Google Workspace Developer Preview Program] Google Workspace MCP Servers are now available in Developer Preview - Hello Developer Preview Program members, We're h.1:32 PN1:26 PN11•67 AN10:07 AN10:06 ANAor 25Anr 2dApr 24Apr 24Aor 24Aor 24Anr2Anr?Apr 23Apr 23Apr 23Aor 23Anr 2?Anr 221Apr 23Apr 23Aor 23Apr 23Aor 2...
|
[{"conf":"1","page_num": [{"conf":"1","page_num":"0","text":"Slack","left":"0.015988371807611673","word_num":"0","width":"0.013081394611520969","height":"0.010452960286604362","par_num":"0","block_num":"0","line_num":"0","top":"0.003484321424642056","level":"0"},{"height":"0.006968640444571572","par_num":"0","level":"0","conf":"1","top":"0.13937282263485706","width":"0.010174417749364324","word_num":"0","text":"Home","left":"0.00581395442473639","block_num":"0","page_num":"0","line_num":"0"},{"conf":"1","left":"0.004360466139006892","top":"0.24738676010060034","par_num":"0","word_num":"0","page_num":"0","width":"0.013081394611520969","text":"Activity","height":"0.010452960286604362","block_num":"0","line_num":"0","level":"0"},{"text":"Files","top":"0.2961672476636912","left":"0.007267441903655982","level":"0","par_num":"0","width":"0.008720929952377967","line_num":"0","word_num":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.020905922094220486"},{"left":"0.005813953538407517","block_num":"0","level":"0","par_num":"0","width":"0.010174418383456292","top":"0.3519163764290747","page_num":"0","conf":"1","word_num":"0","text":"Later","height":"0.017421602252187474","line_num":"0"},{"page_num":"0","height":"0.006968640444571461","text":"More","conf":"0.5","word_num":"0","block_num":"0","top":"0.4111498261191777","width":"0.010174417749364324","line_num":"0","par_num":"0","left":"0.00581395442473639","level":"0"},{"line_num":"0","left":"0.06395348841001604","text":"VIew","height":"0.006968641205077342","page_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.00696864102015915","width":"0.010174418383456299","block_num":"0","word_num":"0","level":"0"},{"line_num":"0","left":"0.02761628269152134","conf":"0.30000001192092896","block_num":"0","par_num":"0","text":"Jiminny... v","width":"0.03633720570422234","page_num":"0","top":"0.06618819786721097","level":"0","word_num":"0","height":"0.013951173809726769"},{"word_num":"0","block_num":"0","page_num":"0","text":"@ jiminny-x-integrati","width":"0.04941860158392724","left":"0.03343023162082732","par_num":"0","height":"0.010452960286604362","conf":"0.5","level":"0","top":"0.09407665591941561","line_num":"0"},{"word_num":"0","block_num":"0","par_num":"0","height":"0.010719703905510136","top":"0.1184668991342196","width":"0.05232557844608387","conf":"1","text":"• plattorm-inner-team","level":"0","left":"0.03343023289112492","line_num":"0","page_num":"0"},{"par_num":"0","text":"E Channels","left":"0.029069768857371583","line_num":"0","height":"0.010755824890623433","level":"0","conf":"0.30000001192092896","top":"0.14634146368723133","page_num":"0","width":"0.027616277654120263","word_num":"0","block_num":"0"},{"level":"0","line_num":"0","page_num":"0","par_num":"0","top":"0.1702458095822066","block_num":"0","left":"0.03340385908586627","width":"0.032029494326165385","text":"# ai-chapter","height":"0.01142475669653975","conf":"1","word_num":"0"},{"left":"0.03343023239598461","block_num":"0","page_num":"0","level":"0","top":"0.191387559849034","height":"0.010703032096607279","width":"0.020348835498728644","word_num":"0","par_num":"0","line_num":"0","conf":"0.5","text":"# alerts"},{"width":"0.026162791759409804","height":"0.007257612128006796","conf":"0.30000001192092896","page_num":"0","block_num":"0","left":"0.034883720326690446","word_num":"0","level":"0","line_num":"0","par_num":"0","top":"0.2160278744399171","text":"i backend"},{"line_num":"0","text":"# confusion-clinic","page_num":"0","height":"0.010544653714558705","left":"0.033430236389960254","top":"0.23684210521680837","level":"0","width":"0.04360464785961395","par_num":"0","block_num":"0","conf":"1","word_num":"0"},{"par_num":"0","text":"curiosity ab","word_num":"0","height":"0.006968641205077342","conf":"0.30000001192092896","top":"0.2613240417522813","line_num":"0","left":"0.033430231454736434","page_num":"0","block_num":"0","width":"0.03633721077695806","level":"0"},{"page_num":"0","top":"0.2822299660239451","word_num":"0","width":"0.034883717273144016","left":"0.03343023272677395","height":"0.010452960286604362","block_num":"0","level":"0","conf":"1","text":"# engineering","par_num":"0","line_num":"0"},{"level":"0","height":"0.010558546635142552","width":"0.026162789223041938","line_num":"0","block_num":"0","left":"0.03343023460359518","par_num":"0","page_num":"0","text":"# generall","word_num":"0","top":"0.3030303029362562","conf":"0.5"},{"line_num":"0","left":"0.03343023626041497","top":"0.3275261327943597","width":"0.03924418256637899","conf":"1","page_num":"0","block_num":"0","par_num":"0","level":"0","text":"# infra-changes","word_num":"0","height":"0.010591889492442497"},{"top":"0.34843205661627974","word_num":"0","line_num":"0","level":"0","block_num":"0","left":"0.03343023284683205","par_num":"0","text":"#jiminny-bg","page_num":"0","height":"0.010452960286604362","conf":"1","width":"0.03197674041098737"},{"par_num":"0","height":"0.01075026787449107","text":"# platrorm-tickets","width":"0.04360464785961395","top":"0.3728223000414095","conf":"0.5","block_num":"0","left":"0.03343023389908995","word_num":"0","line_num":"0","page_num":"0","level":"0"},{"par_num":"0","word_num":"0","height":"0.010577996571858761","level":"0","page_num":"0","block_num":"0","conf":"1","text":"# product launches","width":"0.04796511061648105","line_num":"0","left":"0.03343023821666419","top":"0.3937282234343914"},{"conf":"1","level":"0","block_num":"0","line_num":"0","par_num":"0","left":"0.03343023460359518","text":"# random","word_num":"0","top":"0.41463414720861425","height":"0.010452960286604362","width":"0.026162789223041938","page_num":"0"},{"top":"0.43902439076854916","page_num":"0","word_num":"0","height":"0.010736374953907335","conf":"1","block_num":"0","width":"0.026162789223041945","left":"0.033430231987316365","text":"# releases","par_num":"0","level":"0","line_num":"0"},{"width":"0.03343022884206569","word_num":"0","text":"# sofia-office","height":"0.010564103651274914","line_num":"0","page_num":"0","block_num":"0","par_num":"0","conf":"1","left":"0.033430236274122296","level":"0","top":"0.4599303140744231"},{"left":"0.03343023460359518","height":"0.010722482033323488","page_num":"0","level":"0","par_num":"0","line_num":"0","text":"# support","top":"0.48405103655809556","block_num":"0","width":"0.026162789223041938","conf":"1","word_num":"0"},{"block_num":"0","height":"0.010722482033323488","text":"# thank-yous","level":"0","left":"0.03343023627384907","top":"0.5052264812343649","width":"0.03343022884206569","line_num":"0","word_num":"0","par_num":"0","page_num":"0","conf":"1"},{"text":"# the people of iimi..","level":"0","page_num":"0","top":"0.5261324048886707","word_num":"0","par_num":"0","height":"0.010550210730691068","block_num":"0","width":"0.053779064340794346","left":"0.033430238362816646","conf":"0.30000001192092896","line_num":"0"},{"width":"0.04385969993915964","par_num":"0","block_num":"0","word_num":"0","conf":"1","line_num":"0","top":"0.5562816166068031","height":"0.012721099731834662","level":"0","left":"0.028943613485541628","page_num":"0","text":"A Direct messages"},{"block_num":"0","width":"0.0511003960954382","par_num":"0","line_num":"0","level":"0","conf":"0.30000001192092896","height":"0.014695362230997544","left":"0.03329410184234271","page_num":"0","top":"0.5779620834565922","word_num":"0","text":"Galva Dimitrova D"},{"block_num":"0","level":"0","height":"0.013937280889143033","top":"0.5993031365589129","line_num":"0","text":"f0. Aneliya Angelova","width":"0.04796511061648105","par_num":"0","left":"0.031976749843670854","page_num":"0","conf":"0.5","word_num":"0"},{"word_num":"0","block_num":"0","page_num":"0","left":"0.033430232725592236","par_num":"0","line_num":"0","level":"0","width":"0.03488371727314401","height":"0.010541875586745464","text":"8. Vasil Vasilev","conf":"0.30000001192092896","top":"0.623604465618983"},{"top":"0.6480836238742205","page_num":"0","line_num":"0","text":"3 Aneliya Angelova, ...","block_num":"0","conf":"1","par_num":"0","word_num":"0","level":"0","width":"0.05232557844608389","left":"0.033430236751560136","height":"0.010608561301345465"},{"line_num":"0","conf":"0.5","par_num":"0","block_num":"0","level":"0","page_num":"0","text":"o Nikolay Yankov","word_num":"0","height":"0.010452961047110132","left":"0.03343023401684633","width":"0.04069767353382517","top":"0.6689895472639015"},{"height":"0.01055576774682343","block_num":"0","par_num":"0","width":"0.04069767353382516","text":"Q Nikolav Ivanov","conf":"0.30000001192092896","left":"0.03343023191109747","line_num":"0","top":"0.6897926636315757","page_num":"0","level":"0","word_num":"0"},{"conf":"0.5","width":"0.043604647859613946","word_num":"0","block_num":"0","top":"0.714285714514252","level":"0","height":"0.01059466838076173","line_num":"0","page_num":"0","left":"0.03343023649229833","text":". Nikolay Nikolov","par_num":"0"},{"conf":"0.30000001192092896","page_num":"0","text":"2 Stefka Stovanova","line_num":"0","top":"0.7351916378562359","left":"0.03343023574157197","width":"0.04651162472177059","block_num":"0","height":"0.010452961047110243","level":"0","par_num":"0","word_num":"0"},{"top":"0.7559808610578788","line_num":"0","height":"0.010569661427913157","par_num":"0","width":"0.043604647859613946","word_num":"0","left":"0.03343023649229833","page_num":"0","block_num":"0","conf":"0.30000001192092896","text":"Q Adelina Detroval","level":"0"},{"block_num":"0","width":"0.03924418510274684","word_num":"0","level":"0","left":"0.03343023405789344","line_num":"0","height":"0.010580775460177771","par_num":"0","text":"Stoyan Tomov","conf":"1","page_num":"0","top":"0.7804878050671759"},{"height":"0.010452960286604362","width":"0.043604647859613946","conf":"1","top":"0.8013937287417153","line_num":"0","block_num":"0","page_num":"0","left":"0.0334302366242539","par_num":"0","text":"( Petko Kashinski","word_num":"0","level":"0"},{"word_num":"0","width":"0.045058138827060126","left":"0.033430233608541776","line_num":"0","page_num":"0","text":"&. Mario Georgiev","top":"0.8221690590544602","par_num":"0","level":"0","conf":"0.30000001192092896","block_num":"0","height":"0.017552194793068465"},{"width":"0.043604647859613946","word_num":"0","level":"0","left":"0.03343023662617514","line_num":"0","page_num":"0","height":"0.010566881779088155","par_num":"0","top":"0.8466898963487846","block_num":"0","conf":"0.5","text":"Ss: Todor Stamatov."},{"left":"0.033430236432641265","top":"0.8675958196824817","height":"0.010452960286604362","block_num":"0","level":"0","word_num":"0","width":"0.04360464785961394","text":"R. Cabriele Dureve","line_num":"0","conf":"0.30000001192092896","page_num":"0","par_num":"0"},{"top":"0.8989547046999035","conf":"0.30000001192092896","par_num":"0","width":"0.020348835498728648","height":"0.010452960286604362","line_num":"0","text":"#::Annd","level":"0","page_num":"0","block_num":"0","left":"0.027616278907612524","word_num":"0"},{"height":"0.010466853967693979","top":"0.9233449481743924","left":"0.03343023248799144","page_num":"0","width":"0.03052325451627691","level":"0","word_num":"0","par_num":"0","line_num":"0","conf":"0.30000001192092896","block_num":"0","text":"#\" Jira Cloud"},{"conf":"0.30000001192092896","line_num":"0","left":"0.03343023447404989","width":"0.021802323929806973","block_num":"0","page_num":"0","top":"0.9441786283335306","word_num":"0","height":"0.010525203777842607","level":"0","par_num":"0","text":"B Toast"},{"text":"Miston","left":"0.09302325755713681","block_num":"0","line_num":"0","top":"0.006968641450188162","word_num":"0","height":"0.006968640444571461","conf":"0.30000001192092896","par_num":"0","page_num":"0","width":"0.01598837020549368","level":"0"},{"line_num":"0","conf":"1","page_num":"0","par_num":"0","left":"0.11482558137798679","block_num":"0","level":"0","top":"0.0034843206088490675","height":"0.010452961047110243","width":"0.015988371473677626","text":"Window","word_num":"0"},{"conf":"0.5","word_num":"0","left":"0.13662790679349965","text":"Help","block_num":"0","page_num":"0","par_num":"0","width":"0.011627906180442654","line_num":"0","level":"0","height":"0.010452960286604362","top":"0.003484321424642056"},{"conf":"1","level":"0","word_num":"0","line_num":"0","text":"@ Describe what you are looking for","block_num":"0","top":"0.031100478404652132","par_num":"0","left":"0.14098837673168155","page_num":"0","height":"0.010711368001058763","width":"0.07122092551373421"},{"top":"0.0696864114850313","level":"0","conf":"0.30000001192092896","par_num":"0","width":"0.030523251979909058","word_num":"0","line_num":"0","height":"0.006968640444571572","block_num":"0","page_num":"0","text":"\"rreleases","left":"0.11337209646644068"},{"block_num":"0","page_num":"0","level":"0","text":"• Messages","conf":"1","top":"0.10104529652728955","word_num":"0","width":"0.024709300791963637","height":"0.01059744650857486","left":"0.10465116432315079","par_num":"0","line_num":"0"},{"word_num":"0","line_num":"0","block_num":"0","par_num":"0","width":"0.017441858636571994","page_num":"0","left":"0.13517442043055924","top":"0.1044657097288676","text":"r Files","conf":"0.30000001192092896","height":"0.0071770334928229484","level":"0"},{"left":"0.15843023376708676","line_num":"0","block_num":"0","page_num":"0","text":"• Bookmarks","top":"0.1044657097288676","width":"0.029069766085198595","word_num":"0","conf":"0.5","level":"0","par_num":"0","height":"0.0071770334928229484"},{"height":"0.007235383302971465","block_num":"0","left":"0.2005813950836582","conf":"0.30000001192092896","word_num":"0","width":"0.06540697686215663","page_num":"0","par_num":"0","level":"0","text":"Wnen: 04/2// Z0zo 11:35:50","top":"0.12195121954001853","line_num":"0"},{"text":"View Job","left":"0.11918604845074231","height":"0.007343747018817126","par_num":"0","level":"0","page_num":"0","block_num":"0","width":"0.020348835498728637","line_num":"0","word_num":"0","conf":"1","top":"0.20557491325434107"},{"line_num":"0","left":"0.1177325612031169","width":"0.04360464785961396","conf":"0.5","text":"GitHub APP 2:42 PM","top":"0.2334494774271001","word_num":"0","height":"0.010569661427913046","par_num":"0","page_num":"0","block_num":"0","level":"0"},{"line_num":"0","level":"0","top":"0.2543554009942979","left":"0.11773257237957876","width":"0.13517440633570896","word_num":"0","page_num":"0","conf":"1","block_num":"0","par_num":"0","height":"0.007207597461803994","text":"1/ new commits pushed to master by lodorstamatov)iminnv"},{"block_num":"0","conf":"1","height":"0.010594667620255849","width":"0.17151160950356342","par_num":"0","word_num":"0","top":"0.2751196173110231","level":"0","left":"0.12354653001596211","line_num":"0","page_num":"0","text":"e42c672c - JY-20478: implement stop sync calendar events on revoked grants"},{"block_num":"0","conf":"0.5","height":"0.007282619080855368","text":"8cf15566 - JY-204/8: nx unit tests","top":"0.29585326947918344","word_num":"0","page_num":"0","par_num":"0","width":"0.07703487923804751","line_num":"0","level":"0","left":"0.12354651604811547"},{"block_num":"0","text":"6425ebb4 - JY-204/8: add migration for calendars.status to allow 20 chars","width":"0.1627906839898292","page_num":"0","top":"0.3133971291866029","level":"0","line_num":"0","par_num":"0","conf":"0.5","height":"0.0071770334928229484","left":"0.12354650911225253","word_num":"0"},{"left":"0.12354653944915736","top":"0.3484320562744495","line_num":"0","par_num":"0","width":"0.18895346053103182","block_num":"0","word_num":"0","conf":"0.5","text":"65088554 - JY-204/8: hx warning messages, uodate calendar/emalls status on success","page_num":"0","level":"0","height":"0.007229825526333333"},{"top":"0.3832752618685624","conf":"0.5","left":"0.12209302481919587","level":"0","height":"0.01066413222317486","line_num":"0","block_num":"0","width":"0.06104650395981809","word_num":"0","page_num":"0","par_num":"0","text":"jiminny/app Added by GitHub"},{"level":"0","line_num":"0","conf":"0.5","par_num":"0","left":"0.11627907517797706","height":"0.010622453461423431","top":"0.407496012749919","word_num":"0","page_num":"0","block_num":"0","text":"CircleCl APP 3:05 PM","width":"0.047965110616481066"},{"text":"Deployment Successful!","page_num":"0","level":"0","line_num":"0","block_num":"0","conf":"1","par_num":"0","word_num":"0","height":"0.011164274322169154","top":"0.4282296650717703","left":"0.11482558254955103","width":"0.06395348082197475"},{"word_num":"0","width":"0.027616277654120266","left":"0.11627907113966836","line_num":"0","block_num":"0","conf":"1","level":"0","page_num":"0","par_num":"0","height":"0.010758603778942444","text":"Project: app","top":"0.45614035072682557"},{"level":"0","text":"When• 04727/2024 12-05-14","width":"0.0668604627568671","conf":"0.5","block_num":"0","top":"0.4561403509158224","page_num":"0","word_num":"0","left":"0.19912790918400106","line_num":"0","height":"0.007274283176403884","par_num":"0"},{"left":"0.1162790696863644","top":"0.4773519167115121","page_num":"0","conf":"0.30000001192092896","width":"0.01017441774936434","text":"lag","word_num":"0","level":"0","height":"0.006968640444571572","line_num":"0","par_num":"0","block_num":"0"},{"top":"0.5398724083630307","level":"0","par_num":"0","height":"0.010650239302591125","line_num":"0","left":"0.11918604649173162","block_num":"0","text":"View Job","page_num":"0","width":"0.018895347067650337","word_num":"0","conf":"1"},{"par_num":"0","top":"0.5714285717637769","level":"0","conf":"0.30000001192092896","width":"0.04360464785961396","word_num":"0","text":"Ci+Hmh App 2.14 DN","page_num":"0","line_num":"0","left":"0.11773256217921274","height":"0.006968640444571572","block_num":"0"},{"conf":"1","word_num":"0","left":"0.11482557780821762","text":"20 new commits pushed to master by mihailmihaylovjiminny","width":"0.1366278973031551","level":"0","top":"0.5885167464114832","height":"0.011164274322169043","block_num":"0","page_num":"0","par_num":"0","line_num":"0"},{"conf":"0.5","page_num":"0","height":"0.0071770334928229484","block_num":"0","par_num":"0","text":"2oc71c26 - IV-19995• Undate commandi","width":"0.08866278668667409","word_num":"0","line_num":"0","left":"0.12354651548813526","top":"0.613237639553429","level":"0"},{"width":"0.1119185914384558","page_num":"0","line_num":"0","block_num":"0","height":"0.007296511240933334","left":"0.1235465248390875","word_num":"0","text":"602h8c5f - IV-19995• Delete unuced c? directoriec","level":"0","top":"0.6306620213543984","conf":"0.5","par_num":"0"},{"word_num":"0","line_num":"0","text":"besbelsb -Jr-ly77o. Upaate logs","left":"0.12354651608852178","conf":"0.30000001192092896","par_num":"0","height":"0.0071770334928229484","block_num":"0","top":"0.6515151515151515","width":"0.0755813831978656","level":"0","page_num":"0"},{"left":"0.12354651953611571","block_num":"0","conf":"1","level":"0","line_num":"0","par_num":"0","text":"8d5a041b - JY-19995: Fix cs/tests","width":"0.0755813882706013","height":"0.010730817937774861","page_num":"0","top":"0.6655052267742954","word_num":"0"},{"word_num":"0","page_num":"0","conf":"1","text":"e6bd5b18 - Merge branch 'master' into JY-19995-delete-leftover-tracks-command","block_num":"0","top":"0.6826156300966922","height":"0.010764160034569037","par_num":"0","width":"0.1802325350172976","left":"0.12354653475014418","line_num":"0","level":"0"},{"top":"0.7038327529484459","par_num":"0","page_num":"0","conf":"0.5","left":"0.12209302265549815","block_num":"0","height":"0.006968640444571572","text":"show more","width":"0.026162789223041938","line_num":"0","word_num":"0","level":"0"},{"width":"0.06104651410528955","line_num":"0","block_num":"0","height":"0.00732985485873916","conf":"0.30000001192092896","word_num":"0","left":"0.12209302197282229","par_num":"0","level":"0","text":"aiminny/app Added by GitHul","page_num":"0","top":"0.7208931418013569"},{"page_num":"0","text":"CircleCl APP 3:37 PM","word_num":"0","height":"0.010483525016091066","width":"0.04651162472177059","level":"0","par_num":"0","conf":"0.5","left":"0.11773256212401756","top":"0.7456140351751869","block_num":"0","line_num":"0"},{"block_num":"0","left":"0.1119186053967804","conf":"0.5","page_num":"0","line_num":"0","height":"0.010655796318723487","par_num":"0","text":"• Deployment Successful!","width":"0.06686045768413136","level":"0","word_num":"0","top":"0.7663476873526445"},{"text":"Proiect. ann","level":"0","line_num":"0","conf":"1","left":"0.11627907171128637","page_num":"0","par_num":"0","block_num":"0","height":"0.0071770334928229484","top":"0.7942583732057417","word_num":"0","width":"0.027616277654120253"},{"height":"0.0071770334928229484","text":"When: 04/27 202612-37-16","line_num":"0","par_num":"0","block_num":"0","left":"0.19912790772277728","level":"0","page_num":"0","conf":"0.30000001192092896","width":"0.0668604576841314","top":"0.7942583732057417","word_num":"0"},{"left":"0.11627906980536487","block_num":"0","height":"0.006968641205077342","top":"0.811846689800647","width":"0.010174418383456285","word_num":"0","page_num":"0","conf":"0.30000001192092896","line_num":"0","par_num":"0","text":"Thg!","level":"0"},{"word_num":"0","line_num":"0","left":"0.1191860484507423","level":"0","page_num":"0","height":"0.0071770334928229484","block_num":"0","text":"View lob","par_num":"0","width":"0.02034883549872865","top":"0.8779904306220095","conf":"0.5"},{"word_num":"0","page_num":"0","top":"0.9233449483486083","level":"0","left":"0.10610465068022899","block_num":"0","line_num":"0","height":"0.010466853967693979","text":"Message #releases","width":"0.043604647859613946","par_num":"0","conf":"1"},{"text":"","width":"0.008720929941860467","word_num":"0","page_num":"0","left":"0.47674418604651164","par_num":"0","height":"0.017421602206736386","conf":"0.30000001192092896","block_num":"0","top":"0.02787456492450635","line_num":"0","level":"0"},{"height":"0.021014286570571916","level":"0","block_num":"0","page_num":"0","width":"0.014534883042599311","conf":"0.30000001192092896","line_num":"0","text":"8 22","word_num":"0","par_num":"0","top":"0.06271777048382365","left":"0.4215116285065679"},{"width":"0.030583022756779488","level":"0","page_num":"0","text":"sonarqub. 36","word_num":"0","left":"0.5043305831209495","conf":"1","height":"0.01150822297237708","par_num":"0","block_num":"0","top":"0.1841413588699612","line_num":"0"},{"top":"0.21929824549679078","level":"0","line_num":"0","block_num":"0","left":"0.5000000005951937","conf":"1","par_num":"0","word_num":"0","height":"0.007182590508955311","text":"ninny leam 3","width":"0.027616275117752442","page_num":"0"},{"block_num":"0","width":"0.023255812360885253","word_num":"0","left":"0.500000000979799","page_num":"0","height":"0.010630789365874915","text":"ninny Team","conf":"1","par_num":"0","line_num":"0","level":"0","top":"0.2472089313926451"},{"block_num":"0","width":"0.03052325451627691","conf":"0.30000001192092896","left":"0.5029069773792849","top":"0.2822299650799489","text":". .. sonarau. 4","height":"0.0072437192074229495","word_num":"0","line_num":"0","level":"0","page_num":"0","par_num":"0"},{"height":"0.0071770334928229484","line_num":"0","level":"0","width":"0.033430231378433484","word_num":"0","conf":"0.30000001192092896","left":"0.5000000005171785","top":"0.3133971291866029","par_num":"0","text":"m... sonarau. 4","page_num":"0","block_num":"0"},{"word_num":"0","line_num":"0","left":"0.500000000037923","text":"DOHR","top":"0.3449477350968142","block_num":"0","height":"0.006968641205077342","page_num":"0","width":"0.01017441838345634","level":"0","par_num":"0","conf":"0.30000001192092896"},{"height":"0.012198134092242796","line_num":"0","block_num":"0","level":"0","left":"0.49995825254301873","text":"1 sonarqub. 11","par_num":"0","width":"0.034967219575922526","page_num":"0","top":"0.4695106887829339","word_num":"0","conf":"0.30000001192092896"},{"page_num":"0","text":"v Yankov","width":"0.021802323929806966","word_num":"0","conf":"0.5","top":"0.5052264811714424","block_num":"0","height":"0.006968640444571461","left":"0.4985465135438173","line_num":"0","par_num":"0","level":"0"},{"top":"0.5365853659000309","word_num":"0","conf":"0.30000001192092896","width":"0.02616279175940983","page_num":"0","block_num":"0","text":"y Yankov 6","line_num":"0","height":"0.007274283176403884","left":"0.49854651101175596","level":"0","par_num":"0"},{"height":"0.010614117556971947","word_num":"0","block_num":"0","line_num":"0","left":"0.5000000018037274","conf":"1","page_num":"0","text":"ninny Team","par_num":"0","level":"0","top":"0.5677830941943007","width":"0.023255812360885253"},{"height":"0.007282619080855368","level":"0","page_num":"0","left":"0.5043604658690533","text":". sonarau. 8","block_num":"0","width":"0.026162789223041938","word_num":"0","top":"0.6968641114399613","par_num":"0","line_num":"0","conf":"0.5"},{"level":"0","height":"0.0071770334928229484","par_num":"0","conf":"0.5","left":"0.5014534890072259","top":"0.7280701754385965","width":"0.029069766085198512","line_num":"0","page_num":"0","block_num":"0","word_num":"0","text":"n. .. Nikolav 7"},{"left":"0.5000000005189089","level":"0","line_num":"0","top":"0.7595818814714617","word_num":"0","par_num":"0","conf":"0.5","block_num":"0","text":"n. sonarauh. ?","page_num":"0","width":"0.033430231378433595","height":"0.006968641205077342"},{"left":"0.502906978778592","par_num":"0","block_num":"0","height":"0.010494639808861561","conf":"0.5","line_num":"0","text":". steliya. 28","width":"0.02470930079196365","word_num":"0","page_num":"0","level":"0","top":"0.7909407668943288"},{"par_num":"0","text":"sonarqu. 11","page_num":"0","level":"0","line_num":"0","conf":"0.30000001192092896","left":"0.5029069804941778","top":"0.8221690589833636","block_num":"0","word_num":"0","height":"0.010583553587991124","width":"0.02761627511775233"},{"line_num":"0","page_num":"0","height":"0.011164274322169043","top":"0.8532695374800638","text":"stefka-. 6","width":"0.023255812360885364","word_num":"0","left":"0.5058139555492385","level":"0","par_num":"0","conf":"1","block_num":"0"},{"text":"sonarau. 121","height":"0.0071770334928229484","word_num":"0","top":"0.8883572567783095","conf":"0.5","par_num":"0","block_num":"0","level":"0","line_num":"0","width":"0.026162789223041938","left":"0.5043604662904619","page_num":"0"},{"level":"0","width":"0.02470930079196354","page_num":"0","height":"0.010611339429158706","text":"No thanks","word_num":"0","line_num":"0","conf":"1","par_num":"0","block_num":"0","left":"0.507267443794307","top":"0.9545454544222594"},{"word_num":"0","line_num":"0","conf":"0.30000001192092896","left":"0.9113372111340684","par_num":"0","text":"100% C7","block_num":"0","height":"0.01074748898617195","level":"0","top":"0.0031897926052030234","width":"0.020348835498728568","page_num":"0"},{"left":"0.9462209344669219","line_num":"0","word_num":"0","level":"0","block_num":"0","height":"0.013937280889143033","width":"0.04651162472177062","conf":"1","top":"0.00000000032197899901831306","par_num":"0","text":"Mon 27 Apr 18:39:21","page_num":"0"},{"width":"0.02761627511775233","block_num":"0","line_num":"0","top":"0.07317073169409061","page_num":"0","word_num":"0","height":"0.006968640444571461","conf":"0.30000001192092896","level":"0","left":"0.8386627940544958","par_num":"0","text":"DActivev"},{"text":"1-50 ot 25.346","width":"0.027616277654120225","block_num":"0","line_num":"0","height":"0.006968641205077342","par_num":"0","left":"0.9156976756742965","page_num":"0","top":"0.1184668988913179","word_num":"0","level":"0","conf":"1"},{"left":"0.5523256237398286","width":"0.39098832962360786","block_num":"0","page_num":"0","top":"0.15311004796085603","word_num":"0","height":"0.010653017430404366","par_num":"0","text":"Your Daily Digest from Datadog - The Daily Digest for Jiminny, Inc. Here's what happened in Datadog on April 26. Metric Alerts 1 Total Event 1 Alert Recovered [Recovered) Dialers Stats..","line_num":"0","conf":"1","level":"0"},{"left":"0.550872094594987","line_num":"0","block_num":"0","level":"0","top":"0.1846689903287202","height":"0.01070581022442052","text":"[jiminny/infrastructure] JY-20556 Fix critical vulnerabilities (PR #725) - sonarqubecloud[bot) left a comment (jiminny/infrastructure#725) Quality Gate Passed Quality Gate passed .","width":"0.3924418104455827","conf":"1","page_num":"0","par_num":"0","word_num":"0"},{"block_num":"0","width":"0.39098832962360786","line_num":"0","par_num":"0","level":"0","height":"0.010452960286604362","left":"0.5508721352089593","top":"0.21602787508317867","page_num":"0","word_num":"0","text":"Your 'Not enough activities' report wasn't generated - Hi there, We weren't able to generate your 'Not enough activities' report for 19 - 25 Apr 2026, as no calls matched your selected filt.","conf":"1"},{"level":"0","word_num":"0","block_num":"0","width":"0.3880813679796584","text":"Your 'Not enough activities' report is expiring soon - Hi there. Your 'Not enough activities' Ask Jiminny report is set to expire on 4th May. To keep receiving it, head to Jiminny → Al Re.","height":"0.010630789365874915","conf":"1","page_num":"0","par_num":"0","top":"0.2472089314797531","line_num":"0","left":"0.5523256085118505"},{"top":"0.2787456450544028","page_num":"0","width":"0.38953484880163314","block_num":"0","word_num":"0","conf":"1","par_num":"0","left":"0.5508721279369344","height":"0.01072803904945585","line_num":"0","text":"[iiminny/prophet] JY-19314: Test OD ai-call-score (PR #412) - You can view, comment on, or merge this pull request online at: https://aithub.com/iiminnv/prophet/pull/412 Commit Su.","level":"0"},{"text":"[jiminny/prophet] JY-19317: Test Al call score on Earth (PR #427) - You can view, comment on, or merge this pull request online at: https://github.com/jiminny/prophet/pull/427 Comm","level":"0","line_num":"0","width":"0.3924418104455827","conf":"1","left":"0.5508721482334957","height":"0.013937280889143033","par_num":"0","page_num":"0","word_num":"0","block_num":"0","top":"0.3101045302871358"},{"conf":"1","height":"0.010714146128872004","block_num":"0","par_num":"0","top":"0.3449477356944346","text":"Welcome Kara Jones to Jiminny - Welcome Kara Jones! Kara is joining us as Head of Customer Success Kara Jones Head of Customer Success UK Hey Team, We are happy to have Ka..","word_num":"0","left":"0.5523256228044172","line_num":"0","page_num":"0","level":"0","width":"0.39098832962360786"},{"par_num":"0","left":"0.552325622841054","top":"0.3763066205343165","word_num":"0","conf":"1","block_num":"0","level":"0","width":"0.39098832962360786","height":"0.010455739935429254","page_num":"0","text":"Your Daily Digest from Datadog - The Daily Digest for Jiminny, Inc. Here's what happened in Datadog on April 24. Metric Alerts 2 Total Events 2 Alerts Recovered [Recovered) Dialers St..","line_num":"0"},{"height":"0.010622453461423431","level":"0","page_num":"0","text":"Daily digest: updates from Galya Dimitrova - 25 April 2026 Your top highlights, all in one place—see what's changed on content you've contributed to. Top post Jiminny MCP Connect...","line_num":"0","par_num":"0","width":"0.3924418104455827","conf":"1","left":"0.5508721430272714","block_num":"0","top":"0.407496012749919","word_num":"0"},{"height":"0.010736374953907335","level":"0","block_num":"0","conf":"1","left":"0.5508720872543609","line_num":"0","top":"0.43902439076854916","width":"0.38953484880163325","word_num":"0","par_num":"0","text":"Your Daily Digest from Datadog - The Daily Digest for Jiminny, Inc. Here's what happened in Datadog on April 23. Metric Alerts 1 Total Event 1 Alert Triqgered [Triqgered] Dialers Stats .","page_num":"0"},{"text":"[iiminny/infrastructurel JY-20225 Add more spot instance tvpes (PR #715) - You can view, comment on. or merae this pull reauest online at: httos://aithub.com/iiminnv/infrastructur","left":"0.5508720900308203","page_num":"0","top":"0.470383275988684","height":"0.010477967999958815","word_num":"0","width":"0.38953484880163314","par_num":"0","block_num":"0","conf":"1","level":"0","line_num":"0"},{"height":"0.01060022539689398","text":"[iiminnv/desian-tokensl Release v1.0.9 - v1.0.9 Add oromotion page assets - v1.0.9 Add oromotion nage assets Renositorv: iiminnv/desian-tokens . Taa: v1.0.9 . Commit: da7930a ....","conf":"0.5","top":"0.5015948962688159","width":"0.39098832962360786","word_num":"0","line_num":"0","block_num":"0","left":"0.5508721349212714","level":"0","par_num":"0","page_num":"0"},{"conf":"1","text":"[jiminny/design-tokens] Add promotional SVG assets (PR #29) - ...d feedback You can view, comment on, or merge this pull request online at: https://github.com/jiminny/design-toke…","top":"0.5365853660742468","par_num":"0","width":"0.3924418104455826","word_num":"0","block_num":"0","level":"0","height":"0.010464075839880738","page_num":"0","left":"0.5508721430427894","line_num":"0"},{"block_num":"0","line_num":"0","height":"0.010614118317477828","conf":"1","left":"0.5508721014802799","level":"0","page_num":"0","text":"Your 'Not enpough activities' report wasn't generated - Hi there, Hi there, We weren't able to generate your 'Not enpough activities' report for 12 - 18 Apr 2026, as no calls matched your ...","word_num":"0","par_num":"0","top":"0.5677830939882639","width":"0.3924418104455827"},{"line_num":"0","word_num":"0","block_num":"0","par_num":"0","height":"0.010744710858358708","text":"Daily digest: updates from Galya Dimitrova - 24 April 2026 Your top highlights, all in one place—see what's changed on content you've contributed to. Top post Jiminny MCP Connector ...","level":"0","page_num":"0","top":"0.5993031361342637","conf":"1","width":"0.38953484880163314","left":"0.5508721277101132"},{"height":"0.010486303904410188","block_num":"0","width":"0.38953484880163314","conf":"1","line_num":"0","word_num":"0","left":"0.5508721268745417","level":"0","page_num":"0","par_num":"0","text":"Updated invitation: Lukas/Stefka 121 @ Fri Apr 24, 2026 2pm - 2:30pm (GMT+3) (Lukas Kovalik) - Lukas/Stefka 121 Join with Google Meet - You have been invited by Stefka Stovanova to .","top":"0.6306620213543984"},{"block_num":"0","text":"Your Dailv Digest from Datadoa - The Daily Diaest for Jiminnv. Inc. Here's what happened in Datadoa on April 22. Metric Alerts 2 Total Events 2 Alerts Recovered [Recoveredl Video au..","width":"0.39098832962360786","level":"0","word_num":"0","conf":"1","left":"0.5508721349408457","par_num":"0","top":"0.6618819777131978","line_num":"0","page_num":"0","height":"0.010591889492442608"},{"left":"0.5508721078554979","conf":"1","level":"0","text":"fiiminny/orophet] .JY-20276: Fix Azure Grok deplovment name (PR #495) - You can view, comment on. or merae this pull reauest online at: httos://aithub.com/iiminnv/orophet/oull/49.J","block_num":"0","page_num":"0","height":"0.011164274322169043","width":"0.3924418510274684","par_num":"0","line_num":"0","top":"0.6929824561403509","word_num":"0"},{"word_num":"0","par_num":"0","height":"0.010605782413026343","page_num":"0","line_num":"0","text":"[jiminny/prophet] JY-20276: Fix structured output bug (PR #494) - You can view, comment on, or merge this pull request online at: https://github.com/jiminny/prophet/pull/494 Com.","width":"0.38953484880163314","level":"0","left":"0.5508721074484809","top":"0.7280701756068617","conf":"1","block_num":"0"},{"height":"0.010753046002304312","conf":"1","block_num":"0","left":"0.5523256158412096","line_num":"0","width":"0.38953484880163325","par_num":"0","level":"0","text":"[jiminny/prophet] JY-20566: Re-eval action items (PR #493) - You can view, comment on, or merge this pull request online at: https://github.com/jiminny/prophet/pull/493 Commit Su..","page_num":"0","top":"0.7595818820544469","word_num":"0"},{"top":"0.7909407668943288","line_num":"0","block_num":"0","page_num":"0","text":"[jiminny/prophet] JY-20726: Grok via Azure (PR #489) - @steliyan-q pushed 1 commit. 276dabO Merge branch 'master' into azure-grok-new-keys-2 — View it on GitHub or unsubscri...","conf":"1","width":"0.3924418104455826","level":"0","word_num":"0","height":"0.010494639808861561","left":"0.5508721430388723","par_num":"0"},{"line_num":"0","page_num":"0","text":"[jiminny/prophet] JY-20731 Switched schema for scorecards to dynamic from static one to... (PR #492) - ... ensure that each scorecard rule is scored once You can view, commen.","top":"0.8221690590111643","left":"0.550872144458127","conf":"1","width":"0.39098832962360786","par_num":"0","block_num":"0","height":"0.014354066985645897","level":"0","word_num":"0"},{"width":"0.3924418104455826","top":"0.8532695374800638","left":"0.5508721430427894","word_num":"0","par_num":"0","line_num":"0","level":"0","height":"0.011164274322169043","block_num":"0","conf":"1","text":"[iiminny/prophet] JY-20726: Identify participants rare lang Azure Grok (PR #491) - You can view, comment on, or merge this pull reauest online at: httos://aithub.com/iiminnv/proph…","page_num":"0"},{"par_num":"0","left":"0.5508720993959056","line_num":"0","level":"0","page_num":"0","text":"liiminnv/orophet] Evals more vod (PR #478) - You can view, comment on. or merae this oull reauest online at: httos://aithub.com/iiminnv/oronhet/oull/478 Commit Summarv a10e96d e…","top":"0.8850174223486964","height":"0.010516867873391123","block_num":"0","word_num":"0","width":"0.3924418104455827","conf":"0.5"},{"word_num":"0","top":"0.9162679425022608","line_num":"0","left":"0.550872134271793","height":"0.010561325523461673","par_num":"0","text":"Dailv diaest: undates from Galva Dimitrova & Desislav Damvanoy - 23 Anril 2026 Your ton hiahliahts all in one nlace-see what's changed on content vou've contributed to. Ton nos |","level":"0","conf":"1","block_num":"0","page_num":"0","width":"0.3924418104455826"},{"page_num":"0","top":"0.9512195124342594","width":"0.3895348893835189","left":"0.5523255614602834","block_num":"0","par_num":"0","level":"0","text":"[Google Workspace Developer Preview Program] Google Workspace MCP Servers are now available in Developer Preview - Hello Developer Preview Program members, We're h.","conf":"1","line_num":"0","word_num":"0","height":"0.010502975713313045"},{"conf":"0.30000001192092896","level":"0","line_num":"0","left":"0.9607558143919342","word_num":"0","par_num":"0","width":"0.014534883042599311","block_num":"0","height":"0.006968641205077453","page_num":"0","text":"1:32 PN","top":"0.18466898946714772"},{"left":"0.9622093019211148","width":"0.013081395879704916","par_num":"0","line_num":"0","word_num":"0","conf":"0.30000001192092896","level":"0","text":"1:26 PN","top":"0.2160278744399171","page_num":"0","height":"0.007257612128006796","block_num":"0"},{"word_num":"0","height":"0.0071770334928229484","width":"0.0159883727418616","line_num":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.9593023250920844","text":"11•67 AN","level":"0","top":"0.24720893141945777","par_num":"0"},{"level":"0","top":"0.28222996557634583","height":"0.007243718446917069","block_num":"0","left":"0.9578488372654076","line_num":"0","conf":"0.5","page_num":"0","text":"10:07 AN","par_num":"0","width":"0.017441859904755885","word_num":"0"},{"block_num":"0","par_num":"0","text":"10:06 AN","width":"0.017441859904755885","word_num":"0","left":"0.9578488375164523","conf":"0.5","line_num":"0","page_num":"0","height":"0.0104696328560131","top":"0.31010452972006874","level":"0"},{"line_num":"0","height":"0.007265947271952511","par_num":"0","page_num":"0","top":"0.37630662036010043","width":"0.013081395879704916","text":"Aor 25","word_num":"0","block_num":"0","conf":"0.30000001192092896","level":"0","left":"0.9622093019256569"},{"word_num":"0","par_num":"0","text":"Anr 2d","page_num":"0","line_num":"0","left":"0.9622093019211148","conf":"0.30000001192092896","block_num":"0","level":"0","top":"0.4074960127591707","width":"0.013081395879704916","height":"0.0071770334928229484"},{"text":"Apr 24","top":"0.43902439055077935","left":"0.9622093028065548","width":"0.013081394611521024","word_num":"0","height":"0.010736374953907113","conf":"1","level":"0","page_num":"0","line_num":"0","block_num":"0","par_num":"0"},{"par_num":"0","top":"0.470383275988684","left":"0.9622093019738115","line_num":"0","block_num":"0","conf":"1","height":"0.010477967999958815","page_num":"0","text":"Apr 24","level":"0","width":"0.013081394611520913","word_num":"0"},{"text":"Aor 24","block_num":"0","level":"0","par_num":"0","height":"0.006968641205077342","top":"0.5052264807524749","line_num":"0","width":"0.013081395879704916","word_num":"0","page_num":"0","left":"0.9622093019211148","conf":"1"},{"line_num":"0","text":"Aor 24","level":"0","page_num":"0","word_num":"0","height":"0.007274283176403884","width":"0.013081395879704916","par_num":"0","block_num":"0","top":"0.5365853659000309","conf":"1","left":"0.9622093019211148"},{"word_num":"0","height":"0.006968641205077342","text":"Anr2","par_num":"0","page_num":"0","left":"0.9622093026306494","level":"0","line_num":"0","width":"0.013081394611521024","block_num":"0","conf":"0.30000001192092896","top":"0.5679442507824788"},{"height":"0.006968641205077342","par_num":"0","text":"Anr?","top":"0.5993031357999004","word_num":"0","left":"0.9622093026306494","width":"0.013081394611521024","line_num":"0","level":"0","block_num":"0","page_num":"0","conf":"0.30000001192092896"},{"line_num":"0","word_num":"0","level":"0","height":"0.010486303904410188","par_num":"0","conf":"1","top":"0.6306620213543984","block_num":"0","left":"0.9636627916786166","text":"Apr 23","width":"0.013081394611520913","page_num":"0"},{"level":"0","page_num":"0","top":"0.6618819776260898","width":"0.013081394611520913","block_num":"0","text":"Apr 23","conf":"0.30000001192092896","height":"0.010591889492442497","left":"0.9622093028742756","line_num":"0","par_num":"0","word_num":"0"},{"par_num":"0","width":"0.01453488177441531","line_num":"0","page_num":"0","level":"0","height":"0.011164274322169043","top":"0.6929824561403509","word_num":"0","conf":"1","text":"Apr 23","block_num":"0","left":"0.9622093041767126"},{"word_num":"0","width":"0.014534883042599311","top":"0.7280701754385965","level":"0","left":"0.9622093028864682","page_num":"0","line_num":"0","text":"Aor 23","block_num":"0","conf":"0.5","par_num":"0","height":"0.0071770334928229484"},{"width":"0.013081395879704916","left":"0.9622093019211148","level":"0","word_num":"0","line_num":"0","block_num":"0","par_num":"0","page_num":"0","height":"0.006968641205077342","conf":"0.30000001192092896","text":"Anr 2?","top":"0.7595818814493389"},{"line_num":"0","height":"0.0073048471453847075","text":"Anr 221","level":"0","width":"0.01453488177441542","top":"0.7909407668943288","block_num":"0","word_num":"0","page_num":"0","par_num":"0","left":"0.9622093042219275","conf":"0.30000001192092896"},{"left":"0.9622093041668048","par_num":"0","block_num":"0","conf":"1","width":"0.01453488177441542","word_num":"0","page_num":"0","text":"Apr 23","level":"0","height":"0.010583553587991124","line_num":"0","top":"0.8221690589833636"},{"page_num":"0","block_num":"0","par_num":"0","left":"0.9622093041767126","height":"0.011164274322169043","text":"Apr 23","width":"0.01453488177441531","word_num":"0","conf":"1","top":"0.8532695374800638","line_num":"0","level":"0"},{"height":"0.010516868633896892","block_num":"0","par_num":"0","line_num":"0","page_num":"0","conf":"0.5","level":"0","text":"Aor 23","left":"0.9622093041668048","top":"0.8850174217942274","width":"0.01453488177441542","word_num":"0"},{"par_num":"0","conf":"1","line_num":"0","page_num":"0","block_num":"0","height":"0.017730023872339018","left":"0.9622093027986531","text":"Apr 23","level":"0","top":"0.9128919858798784","width":"0.014534883042599311","word_num":"0"},{"par_num":"0","block_num":"0","line_num":"0","level":"0","conf":"0.30000001192092896","page_num":"0","text":"Aor 2","height":"0.007313183049836303","top":"0.9512195122600432","width":"0.013081395879704916","word_num":"0","left":"0.9622093019211148"}]...
|
Slack
|
AppleNative
|
releases (Channel) - Jiminny Inc - 3 new items - S releases (Channel) - Jiminny Inc - 3 new items - Slack...
|
1
|
6315
|
NULL
|
NULL
|
|
89092
|
Firefox FileEditViewHistoryBookmarksProfilesToolsW Firefox FileEditViewHistoryBookmarksProfilesToolsWindowHelp‹$0100% C47 8 Mon 27 Apr 18:40:29APP (-zsh)*3DOCKER•₴81DEV (docker)₴82jiminny-worker-processing-2:jiminny-worker-processing-2_00:startedjiminny-worker-processing-3:jiminny-worker-processing-3_00:startedjiminny-worker-processing-4:jiminny-worker-processing-4_00:startedjiminny-worker-processing-5:jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00:startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00:startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00:startedworker-download:worker-download_00:startedworker-emails:worker-emails_00:startedworker-es-update:worker-es-update_00:startedworker-nudges:worker-nudges_00: startedAPP (-zsh)screenpipe"- 84What's next:Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ csfixdocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diffPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.PHP runtime: 8.3.30Running analysis on 7 cores with 10 files per process.Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!Loadedconfig default from".php-cs-fixer.dist.php".5636/5636 [100%-zsh885ec2-user@ip-10-30-95-134:...• ₴6|181+APPFixed 0 of 5636 files in 79.526 seconds, 60.00 MB memory usedWhat's next:Try Docker Debug for seamless, persistent debugging tools in any container or image + docker debug docker_lamp_1Learn more at https://docs.docker.com/go/debug-cli/lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ I...
|
[{"width":"0.0625","word_num [{"width":"0.0625","word_num":"0","left":"0.036337207977171104","conf":"0.5","page_num":"0","level":"0","height":"0.014444444444444371","block_num":"0","text":"Firefox File","top":"0.00666666666666671","line_num":"0","par_num":"0"},{"top":"0.006976744800567203","level":"0","width":"0.01744185951020981","left":"0.11191860503171679","conf":"1","text":"Edit","block_num":"0","height":"0.013953487608167836","par_num":"0","word_num":"0","page_num":"0","line_num":"0"},{"line_num":"0","level":"0","top":"0.006976744800567203","left":"0.14244186096903877","par_num":"0","block_num":"0","width":"0.021802324718899202","page_num":"0","word_num":"0","conf":"1","height":"0.013953487608167836","text":"View"},{"par_num":"0","text":"History","width":"0.030523255136277933","block_num":"0","level":"0","top":"0.006976744474985863","conf":"1","word_num":"0","line_num":"0","page_num":"0","height":"0.013953487608167836","left":"0.17732558203941914"},{"par_num":"0","word_num":"0","page_num":"0","level":"0","conf":"1","height":"0.013953487608167836","block_num":"0","left":"0.22093023397676137","top":"0.0069767444517300214","text":"Bookmarks","width":"0.049418603049384224","line_num":"0"},{"block_num":"0","word_num":"0","par_num":"0","text":"Profiles","width":"0.03345298767089844","height":"0.01409370528327103","conf":"1","left":"0.28196536621160007","level":"0","line_num":"0","page_num":"0","top":"0.006906635844982856"},{"left":"0.3270348843322005","text":"Tools","top":"0.006976744645528443","line_num":"0","word_num":"0","height":"0.013953487608167836","page_num":"0","conf":"1","level":"0","par_num":"0","width":"0.026162788603040887","block_num":"0"},{"width":"0.036337208747863725","top":"0.006976744412970359","level":"0","block_num":"0","page_num":"0","line_num":"0","height":"0.013953487608167836","left":"0.3648255822781999","par_num":"0","text":"Window","word_num":"0","conf":"1"},{"height":"0.013953487608167836","line_num":"0","page_num":"0","conf":"0.5","par_num":"0","text":"Help","block_num":"0","left":"0.4127906983236899","top":"0.006976744474985863","word_num":"0","level":"0","width":"0.021802324718899202"},{"conf":"0.30000001192092896","left":"0.6831395346760998","height":"0.02325581444634328","level":"0","text":"‹$0","page_num":"0","block_num":"0","par_num":"0","top":"0.002325580916363257","width":"0.04505813916524248","word_num":"0","line_num":"0"},{"left":"0.8168604644151163","height":"0.016666666666666607","page_num":"0","width":"0.17151162889268656","level":"0","text":"100% C47 8 Mon 27 Apr 18:40:29","word_num":"0","top":"0.004444444444444473","par_num":"0","conf":"0.5","block_num":"0","line_num":"0"},{"par_num":"0","line_num":"0","height":"0.019043926662868915","block_num":"0","level":"0","page_num":"0","left":"0.47383720920201317","conf":"1","text":"APP (-zsh)","top":"0.03444444479776454","width":"0.052325582504272494","word_num":"0"},{"height":"0.01627907011244034","par_num":"0","level":"0","text":"*3","top":"0.06511627880682891","word_num":"0","conf":"0.30000001192092896","left":"0.47093023233952286","page_num":"0","width":"0.014534884028964579","block_num":"0","line_num":"0"},{"level":"0","top":"0.0674418609589309","left":"0.05087209354211576","line_num":"0","height":"0.011627906163533597","page_num":"0","conf":"1","block_num":"0","par_num":"0","width":"0.034883719020419646","word_num":"0","text":"DOCKER"},{"left":"0.14244186069149836","height":"0.011627906163533597","block_num":"0","line_num":"0","text":"•₴81","top":"0.06744186098800065","conf":"0.30000001192092896","par_num":"0","word_num":"0","width":"0.01598837110731338","page_num":"0","level":"0"},{"conf":"1","word_num":"0","width":"0.05087209277682833","text":"DEV (docker)","top":"0.0674418609589309","left":"0.2107558135640147","block_num":"0","level":"0","line_num":"0","page_num":"0","height":"0.011627906163533597","par_num":"0"},{"width":"0.014534884028964579","level":"0","page_num":"0","word_num":"0","height":"0.01162790722317164","block_num":"0","left":"0.3081395347943033","conf":"0.30000001192092896","line_num":"0","text":"₴82","top":"0.06744186040650202","par_num":"0"},{"height":"0.016279069052802186","text":"jiminny-worker-processing-2:jiminny-worker-processing-2_00:","block_num":"0","conf":"1","word_num":"0","level":"0","left":"0.0029069847074915875","top":"0.0906976746596454","line_num":"0","width":"0.32994185553656685","page_num":"0","par_num":"0"},{"block_num":"0","page_num":"0","left":"0.33571392667232075","width":"0.040781447622511124","top":"0.09037791324482813","conf":"1","level":"0","line_num":"0","par_num":"0","height":"0.014593011008368628","word_num":"0","text":"started"},{"conf":"1","par_num":"0","text":"jiminny-worker-processing-3:jiminny-worker-processing-3_00:","height":"0.01860465155707458","width":"0.3313953399658203","page_num":"0","block_num":"0","line_num":"0","left":"0.0029069853223223025","top":"0.10930232526797434","word_num":"0","level":"0"},{"height":"0.018922025892469607","word_num":"0","level":"0","top":"0.10914363802843075","left":"0.3342751821174008","line_num":"0","par_num":"0","page_num":"0","block_num":"0","conf":"1","text":"started","width":"0.042205450269911016"},{"width":"0.3328488243950738","word_num":"0","height":"0.016279069052802186","left":"0.0029069886987807634","level":"0","line_num":"0","page_num":"0","text":"jiminny-worker-processing-4:jiminny-worker-processing-4_00:","par_num":"0","top":"0.13023255838057568","block_num":"0","conf":"1"},{"left":"0.3328488375267404","text":"started","level":"0","conf":"1","word_num":"0","page_num":"0","par_num":"0","line_num":"0","block_num":"0","top":"0.1279069766677502","width":"0.043604649437798404","height":"0.02093023300170893"},{"block_num":"0","top":"0.14883720984889304","line_num":"0","conf":"1","level":"0","par_num":"0","text":"jiminny-worker-processing-5:jiminny-worker-processing-5_00: started","word_num":"0","height":"0.0189405674404568","page_num":"0","left":"0.0029069824147068602","width":"0.375"},{"block_num":"0","height":"0.01912144766913526","width":"0.440406968858507","left":"0.0029069772392815766","word_num":"0","level":"0","page_num":"0","conf":"1","text":"jiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: started","par_num":"0","line_num":"0","top":"0.1697674416757683"},{"line_num":"0","width":"0.14244185553656685","height":"0.016279069052802186","conf":"1","left":"0.001453488550644138","block_num":"0","page_num":"0","par_num":"0","text":"worker:worker_00: started","level":"0","top":"0.19069767489220357","word_num":"0"},{"conf":"1","word_num":"0","left":"0.0029069857494107313","par_num":"0","level":"0","height":"0.01860465155707458","line_num":"0","block_num":"0","page_num":"0","text":"worker-analytics:worker-analytics_00:","width":"0.2078488243950738","top":"0.20930232526797432"},{"page_num":"0","height":"0.017871865166558143","par_num":"0","text":"started","left":"0.2106450752849491","top":"0.2085059281022026","width":"0.04382612705230712","conf":"1","word_num":"0","level":"0","block_num":"0","line_num":"0"},{"conf":"1","block_num":"0","height":"0.018888888888888955","par_num":"0","width":"0.20930233001708984","line_num":"0","text":"worker-audio:worker-audio_00: started","word_num":"0","left":"0.0014534816801639039","page_num":"0","level":"0","top":"0.22999999999999998"},{"level":"0","width":"0.19767441219753693","top":"0.24883720879510607","block_num":"0","height":"0.018604651557074692","page_num":"0","text":"worker-calendar:worker-calendar_00:","word_num":"0","left":"0.0014534900252626394","par_num":"0","conf":"1","line_num":"0"},{"level":"0","text":"started","left":"0.20048360539371637","word_num":"0","conf":"1","height":"0.017677249908447323","page_num":"0","par_num":"0","block_num":"0","line_num":"0","top":"0.24813811897768878","width":"0.043800232145521395"},{"block_num":"0","par_num":"0","text":"worker-conferences:worker-conferences_00: started","height":"0.016279069052802075","width":"0.2761627833048503","top":"0.26976744233406413","line_num":"0","conf":"1","page_num":"0","left":"0.0014534878046298754","word_num":"0","level":"0"},{"height":"0.018604651557074692","par_num":"0","left":"0.0014535107722476088","text":"worker-crm-sync:worker-crm-sync_00: started","level":"0","top":"0.28837209251603635","line_num":"0","word_num":"0","conf":"1","page_num":"0","block_num":"0","width":"0.24273253546820747"},{"block_num":"0","left":"0.0029069807579966147","height":"0.018604651557074692","level":"0","text":"worker-crm-update:worker-crm-update_00:","page_num":"0","top":"0.3093023250741759","word_num":"0","par_num":"0","conf":"1","line_num":"0","width":"0.21947674221462674"},{"conf":"1","level":"0","left":"0.2238010459030743","height":"0.016765356063842773","par_num":"0","text":"started","top":"0.3090591821677582","block_num":"0","line_num":"0","width":"0.04222349060906305","word_num":"0","page_num":"0"},{"page_num":"0","left":"0.0014534882810766487","level":"0","text":"worker-download:worker-download_00:","height":"0.016279069052802186","par_num":"0","block_num":"0","conf":"1","top":"0.3302325586131337","width":"0.19767441219753693","line_num":"0","word_num":"0"},{"page_num":"0","block_num":"0","height":"0.014466767840915273","conf":"1","text":"started","width":"0.04221636189354791","top":"0.32997591856871944","line_num":"0","par_num":"0","level":"0","left":"0.2020022834677442","word_num":"0"},{"par_num":"0","word_num":"0","level":"0","text":"worker-emails:worker-emails_00:","page_num":"0","block_num":"0","line_num":"0","top":"0.35116279093871516","width":"0.17732557720608183","conf":"1","left":"0.0029069817942458244","height":"0.016279069052802297"},{"block_num":"0","conf":"1","page_num":"0","width":"0.04368440839979382","text":"started","level":"0","left":"0.17873919187474513","word_num":"0","line_num":"0","height":"0.014606239530775333","par_num":"0","top":"0.3508364149524119"},{"block_num":"0","level":"0","left":"0.0014534916382623287","top":"0.36976744150828433","width":"0.2107558144463433","conf":"1","height":"0.018604651557074692","line_num":"0","par_num":"0","word_num":"0","page_num":"0","text":"worker-es-update:worker-es-update_00:"},{"left":"0.2120925458496902","page_num":"0","width":"0.04238467481401234","par_num":"0","line_num":"0","top":"0.3689551116954404","word_num":"0","height":"0.01790373060438366","conf":"1","text":"started","block_num":"0","level":"0"},{"height":"0.016279069052802297","conf":"1","page_num":"0","block_num":"0","left":"0.0014534869907137113","line_num":"0","top":"0.39069767489220353","par_num":"0","text":"worker-nudges:worker-nudges_00: started","word_num":"0","level":"0","width":"0.2194767422146267"},{"height":"0.016279069052802186","level":"0","word_num":"0","par_num":"0","left":"0.37936046587543376","top":"0.06511627951429655","width":"0.04069767263200552","conf":"1","block_num":"0","line_num":"0","text":"APP (-zsh)","page_num":"0"},{"par_num":"0","text":"screenpipe\"","top":"0.06503230328781795","width":"0.04798408614264593","word_num":"0","left":"0.5348742351992399","page_num":"0","line_num":"0","height":"0.014121440251668282","block_num":"0","conf":"1","level":"0"},{"width":"0.020348836316002705","page_num":"0","block_num":"0","level":"0","line_num":"0","height":"0.013953487608167947","conf":"0.30000001192092896","top":"0.06511627921917185","par_num":"0","left":"0.6293604655682307","word_num":"0","text":"- 84"},{"conf":"0.5","par_num":"0","line_num":"0","text":"What's next:","top":"0.4277314102376155","width":"0.06835096677144369","word_num":"0","height":"0.01895578384399399","level":"0","left":"0.0028884684886510696","page_num":"0","block_num":"0"},{"block_num":"0","page_num":"0","conf":"1","left":"0.024709311197130962","text":"Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1","height":"0.0189405674404568","word_num":"0","top":"0.4488372099361023","line_num":"0","par_num":"0","width":"0.6250000000000001","level":"0"},{"line_num":"0","par_num":"0","left":"0.024709311843532984","top":"0.4674418601201178","text":"Learn more at https://docs.docker.com/go/debug-cli/","width":"0.28488371107313365","word_num":"0","height":"0.02144702911376961","level":"0","conf":"1","page_num":"0","block_num":"0"},{"line_num":"0","par_num":"0","word_num":"0","top":"0.4906976744540208","text":"docker exec -it docker_lamp_1 php -v","width":"0.20203486548529734","height":"0.018604651557074692","page_num":"0","conf":"1","block_num":"0","left":"0.0029069925467512586","level":"0"},{"top":"0.5088888885466643","block_num":"0","height":"0.019018088446723147","page_num":"0","par_num":"0","conf":"1","left":"0.0029069752453542426","line_num":"0","text":"PHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)","width":"0.2906976699829102","word_num":"0","level":"0"},{"top":"0.53","line_num":"0","conf":"1","block_num":"0","left":"0.0029069718125347126","par_num":"0","word_num":"0","page_num":"0","text":"Copyright (c) The PHP Group","width":"0.15116279390123155","height":"0.016666666666666607","level":"0"},{"block_num":"0","line_num":"0","page_num":"0","conf":"1","par_num":"0","text":"Zend","level":"0","left":"0.0014534896616578315","top":"0.5488372093883276","width":"0.026162788603040905","word_num":"0","height":"0.016279069052802186"},{"block_num":"0","height":"0.0189405674404568","par_num":"0","line_num":"0","left":"0.02616278765726749","width":"0.26744185553656685","text":"Engine v4.3.30, Copyright (c) Zend Technologies","page_num":"0","conf":"1","top":"0.5488372100136217","word_num":"0","level":"0"},{"block_num":"0","width":"0.3459302266438802","word_num":"0","line_num":"0","text":"with Zend OPcache v8.3.30, Copyright (C), by Zend Technologies","height":"0.021343667772081187","left":"0.024709303224405708","top":"0.5697674428613755","par_num":"0","page_num":"0","conf":"1","level":"0"},{"line_num":"0","height":"0.019331622653537384","par_num":"0","text":"What's next:","left":"0.001416347156680405","word_num":"0","conf":"0.30000001192092896","page_num":"0","top":"0.606613258711942","level":"0","width":"0.06984172397189671","block_num":"0"},{"line_num":"0","level":"0","width":"0.6235464731852213","page_num":"0","block_num":"0","word_num":"0","height":"0.018888888888888844","par_num":"0","conf":"1","top":"0.63","left":"0.024709325178980675","text":"Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1"},{"level":"0","top":"0.6488372099593582","text":"Learn more at https://docs.docker.com/go/debug-cli/","word_num":"0","width":"0.2848837110731337","left":"0.02470930648500593","par_num":"0","height":"0.0189405674404568","block_num":"0","page_num":"0","line_num":"0","conf":"1"},{"left":"0.002906984935533943","word_num":"0","block_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ csfix","page_num":"0","top":"0.669767442909825","width":"0.5857557932535807","level":"0","conf":"1","par_num":"0","line_num":"0","height":"0.01912144554985895"},{"top":"0.6883720928886803","word_num":"0","block_num":"0","left":"0.0029069657404068748","conf":"1","par_num":"0","line_num":"0","height":"0.02093023300170893","level":"0","page_num":"0","text":"docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff","width":"0.6569767422146268"},{"height":"0.021343669891357386","left":"0.002906984002225046","par_num":"0","line_num":"0","text":"PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.","top":"0.7088888885685333","block_num":"0","page_num":"0","width":"0.4738371955023871","word_num":"0","conf":"1","level":"0"},{"page_num":"0","block_num":"0","conf":"1","left":"0.002906981949479882","text":"PHP runtime: 8.3.30","height":"0.01666666666666672","top":"0.73","level":"0","line_num":"0","width":"0.10755813386705185","par_num":"0","word_num":"0"},{"line_num":"0","text":"Running analysis on 7 cores with 10 files per process.","page_num":"0","par_num":"0","level":"0","left":"0.0029069888188184125","conf":"1","word_num":"0","block_num":"0","height":"0.0189405674404568","top":"0.7488372099361025","width":"0.30087208218044703"},{"conf":"1","text":"Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!","word_num":"0","page_num":"0","left":"0.002906960475335257","line_num":"0","top":"0.7697674416563884","level":"0","block_num":"0","height":"0.01912144766913526","par_num":"0","width":"0.6511628044976129"},{"conf":"1","par_num":"0","top":"0.7906976746455284","text":"Loaded","page_num":"0","word_num":"0","height":"0.013953487608167947","level":"0","left":"0.002906977627037086","line_num":"0","width":"0.03633720874786377","block_num":"0"},{"height":"0.018604651557074692","width":"0.11191859775119357","word_num":"0","block_num":"0","conf":"1","left":"0.03924419281530385","line_num":"0","level":"0","par_num":"0","text":"config default from","top":"0.7883720927485944","page_num":"0"},{"top":"0.7883720928261139","par_num":"0","page_num":"0","width":"0.14244185553656685","line_num":"0","text":"\".php-cs-fixer.dist.php\".","word_num":"0","conf":"1","left":"0.15116279078791822","level":"0","height":"0.018604651557074692","block_num":"0"},{"width":"0.06831395361158583","line_num":"0","block_num":"0","par_num":"0","page_num":"0","height":"0.01669250594245064","word_num":"0","top":"0.8088888891476377","conf":"0.5","text":"5636/5636 [","level":"0","left":"0.008720930454825998"},{"top":"0.8093023253580242","page_num":"0","block_num":"0","level":"0","line_num":"0","width":"0.04069767528110077","height":"0.01627907011244023","text":"100%","left":"0.21947674373662981","word_num":"0","conf":"0.30000001192092896","par_num":"0"},{"left":"0.7194767443728021","text":"-zsh","par_num":"0","top":"0.06744186098800065","page_num":"0","height":"0.011627906163533597","level":"0","width":"0.017441859510209823","word_num":"0","block_num":"0","line_num":"0","conf":"0.5"},{"top":"0.06511627921917185","width":"0.01453488270441694","block_num":"0","height":"0.013953487608167947","left":"0.799418605207869","par_num":"0","text":"885","word_num":"0","conf":"0.30000001192092896","line_num":"0","level":"0","page_num":"0"},{"text":"ec2-user@ip-10-30-95-134:...","conf":"1","width":"0.11046511332194009","page_num":"0","height":"0.013953487608167836","top":"0.06744186076955949","line_num":"0","word_num":"0","left":"0.8372093056452314","par_num":"0","level":"0","block_num":"0"},{"text":"• ₴6|","word_num":"0","height":"0.013953487608167836","conf":"0.30000001192092896","width":"0.024709301524692084","left":"0.9534883728710178","page_num":"0","block_num":"0","top":"0.06511627933545094","line_num":"0","par_num":"0","level":"0"},{"width":"0.021802324718899202","left":"0.9723837217248527","text":"181","level":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","word_num":"0","top":"0.03488372123467576","block_num":"0","height":"0.013953487608167836","par_num":"0"},{"line_num":"0","width":"0.008720929941860467","word_num":"0","conf":"0.5","page_num":"0","block_num":"0","height":"0.016279069224806153","left":"0.986918604748062","level":"0","par_num":"0","text":"+","top":"0.06511627906976747"},{"text":"APP","par_num":"0","block_num":"0","height":"0.08372093200683595","page_num":"0","top":"0.14651162685070462","level":"0","line_num":"0","width":"0.14244185553656685","left":"0.8517441891582495","conf":"0.5","word_num":"0"},{"line_num":"0","conf":"1","width":"0.3415697521633572","level":"0","block_num":"0","par_num":"0","text":"Fixed 0 of 5636 files in 79.526 seconds, 60.00 MB memory used","top":"0.8697674415691792","left":"0.0029069918994755637","page_num":"0","word_num":"0","height":"0.021343669891357386"},{"text":"What's next:","top":"0.9063272000971861","width":"0.06844745741950141","level":"0","page_num":"0","conf":"0.30000001192092896","word_num":"0","left":"0.0028402254022616143","line_num":"0","block_num":"0","height":"0.019903738233778223","par_num":"0"},{"conf":"1","left":"0.024709325554419456","line_num":"0","par_num":"0","text":"Try Docker Debug for seamless, persistent debugging tools in any container or image + docker debug docker_lamp_1","top":"0.9277777777777778","page_num":"0","level":"0","block_num":"0","word_num":"0","height":"0.02111111111111108","width":"0.6235464731852214"},{"block_num":"0","line_num":"0","par_num":"0","conf":"1","height":"0.018940567440456912","word_num":"0","level":"0","width":"0.2848837110731337","left":"0.02470930648500593","text":"Learn more at https://docs.docker.com/go/debug-cli/","top":"0.9488372099593582","page_num":"0"},{"left":"0.002873699691347811","par_num":"0","line_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ I","top":"0.9636122228085959","word_num":"0","height":"0.024809309641520172","conf":"1","block_num":"0","width":"0.5640362209743924","level":"0","page_num":"0"}]...
|
PhpStorm
|
AppleNative
|
faVsco.js – AutomatedReportsCommand.php
|
1
|
2029
|
NULL
|
NULL
|
|
89096
|
rireroxVIewMistorbookmarksProtllesWindowmelprTavsc rireroxVIewMistorbookmarksProtllesWindowmelprTavsco.s#12011 on JY-20157-AJ-rerProledey© AutomatedReportsService.php> D ProphetAiv @ Reports© AutomatedReports(© AutomatedReportsf D Modif© DetachActivityObject.phpeventservicerrovider.ongC RematchActivityO1c) Automateakeporis.c) CreatемосkaSkJim© DeleteReportCommc) GenerateMarketing© Team.php© Usage.phpSlack>W Teamsw Tracksa TranscriotionO Twilio100>M UsersD Vocabulary102>M Zoom© CoachingFeedbacksU; 104© Command.php© CreateDatabaseUsers. 106(C) DatahaceTableCount r 102OwoptoollelAledmniNetece(C) DeleteS2l eftoversCon 190• DevPostmanCommanc 110C Ehcryptl okenscomma 112© EngagementStatsRege 113wreaturerlaosmeloer.on 114(c) FlushRolesPermissions 116© GeneratelnternalWebh 117€ GroupSetDefaultLangu(C) HubsootWebhookSery 120C) ImoortRecordina.oho© ImportUsersFromCsvF 122C IterateUsersCommand 123C).liminnvbebuaCommar 129© JiminnySetEncryptedT 126C.liminnvTokeninfoCom 121(C) ManadeScimForTeam.|120© MarkBranchForEnviror 130(C) MuteOraanizerChanne 131© PhpApm.php© PropagateCoachingFe 133© PurgeConferences.php 134© PurgeSoftDeletedOppr 135class AutomatedReportscommand extends Commandpublic function handle(): int1t S1sF1rstDayufMonth === false)return 0%// Process weekly reports on Mondays1+ sishondav s$this->processReportsByFrequency ( fre// Process monthly reports on the first day of theif (SisFirstDay0fMonth) €$this->processReportsByFrequency( frequency: Autc// Process quarterly reports on the first day ofif ($isFirstDay0fMonth && $isQuarterlyMonth) {Sthis->processReportsByFrequency ( frequency: Autd$this->Logger->info(self::L0G_PREFIX . ' Completedreturn 0private tunction disableExp1redAskJ1m1nnyReportso: voSexoiredReports = sthis->reportRepository->getexodforeach (SexpiredReports as $report) (Sthis->loggen->info(self::L0G PRESIX . • Disai'reportUuid' => $report->getUuid(),Iteamiid' = Srenont->aetTeamidiol"eyniresAti => Srenont->aetsynires/t02->4$this->reportRepository->update(Sreport, ['sta* Process all active reports for a specific frequencyQAA 10%4 8 Mon27 Apr 18:40:37→ CPlatform Sprint 2 Q2 - Platform TeWJY-203521 Svnc opportunities witJy-20157 add not enough activitie:R JY-20508 notify creator if ask-linAl reports promotion pages byPipelines - jiminny/ap1 (UY-20725) Sentry Hubspot Rate4 (UY-20699] Wrong formatting forM Inbox (1,613) - lukas.kovalik@jimin© github.com/jim/app/pull/11998*8? OpenAI reports promotion pages by nikiCa CloudWatch | us-east-2Z Configure SSH access to multiple €a CloudWatch | us-east-2EC2 |us-east-2P Postmark | QAl > Message Streamsf Ask Jiminny Reports by nikolay-yar1 APl usage quidelines and limits - H# (JY-20508] Notify a user before th- New TabAl reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesRegion detection unexplainedbehaviounFixed - comment added at AutomatedReportsPromo.vue: 89alt="Report illustration" sameTor all carasFixed - now :alt="| $(title) illustration'"' (dynamic, per-card)N+1 D8 querv on everv usenPartially improved - renamed to userReportsExist /uses.exists() rather than count() > 0 , but the extra query still fires onevery page load7 Hardcoded YouTube URUStill present — minor. unchanaedRemaining / new findings1. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 /app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' => Sthis->aetAutomatedReportsRepositorvo>userReportsExist(Suser).Switching from count() > 0 to exists() is a welcome improvement - MySQL can short-circuit on the first matchingrow. However the query still runs on everv liserTransformer::transform() call for the authenticated user (i.e. every/users/current hit, which fires on every page load). The underlying applyUserAccessScope uses whereJsonContainson a recipients JSON column and an optional aroups column — both are hard to index and can be slow on laraedatasets.If this path becomes a bottleneck, consider caching the result per user_id for the lifetime of the request usingLaravel's Cache:: remember with a reguest store. or storing has generated ai revorts as a denormalised booleanon users updated by the report generation/deletion pipelines.Fix this →2. PanoramaReportsPromo. vue features grid not responsivefront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue:167-171grid-tgap: 24px 32px;ce-columns: repeat(2, 1fr);The wrapper stacks to a single column on mobile (fixed), but inside . left the features grid stays 2-column. On narrowviewports the feature cards will be cramped. AutomatedReportsPromo.vue's .cards grid correctly collapses to grid-template-columns: 1fr at (media (mobile - the same treatment is needed here.Fix this →3. Wording inconsistency between modal and inline success message...
|
[{"height":"0.006968641205077342", [{"height":"0.006968641205077342","text":"rirerox","top":"0.00696864103825956","block_num":"0","width":"0.01598837147367762","conf":"0.30000001192092896","page_num":"0","par_num":"0","word_num":"0","line_num":"0","level":"0","left":"0.017441860702114682"},{"level":"0","height":"0.006968640444571461","text":"VIew","top":"0.006968641450188162","width":"0.010174417749364326","line_num":"0","left":"0.0668604650352016","word_num":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896","par_num":"0"},{"conf":"0.30000001192092896","par_num":"0","width":"0.017441858636572008","top":"0.006968641450188162","left":"0.0828488389956674","level":"0","height":"0.006968640444571461","page_num":"0","line_num":"0","text":"Mistor","block_num":"0","word_num":"0"},{"left":"0.10465116479297155","line_num":"0","width":"0.02470930079196361","height":"0.006968640444571461","par_num":"0","level":"0","word_num":"0","conf":"1","block_num":"0","text":"bookmarks","page_num":"0","top":"0.006968641450188162"},{"left":"0.13372093037690438","height":"0.006968640444571461","level":"0","block_num":"0","width":"0.01598837020549368","line_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.006968641450188162","page_num":"0","word_num":"0","text":"Protlles"},{"page_num":"0","level":"0","par_num":"0","conf":"0.5","height":"0.006968640444571461","left":"0.172965116321249","block_num":"0","line_num":"0","text":"Window","top":"0.006968641450188162","word_num":"0","width":"0.017441858636571994"},{"top":"0.006968641450188162","text":"melp","width":"0.01017441774936434","page_num":"0","left":"0.19622093015148065","block_num":"0","par_num":"0","conf":"0.30000001192092896","level":"0","height":"0.006968640444571461","word_num":"0","line_num":"0"},{"height":"0.006968641205077342","line_num":"0","width":"0.029069766085198585","block_num":"0","top":"0.031358884992870206","word_num":"0","text":"rTavsco.s","par_num":"0","level":"0","page_num":"0","conf":"0.30000001192092896","left":"0.030523256552133952"},{"block_num":"0","conf":"0.5","line_num":"0","page_num":"0","top":"0.024390243879713447","width":"0.05959302313784337","height":"0.017421602252187585","level":"0","word_num":"0","text":"#12011 on JY-20157-AJ-rer","par_num":"0","left":"0.06831395268461754"},{"height":"0.003484320602538671","level":"0","width":"0.020348836766912577","page_num":"0","word_num":"0","line_num":"0","conf":"0.30000001192092896","par_num":"0","text":"Proledey","left":"0.014534883869450689","top":"0.05923344944238418","block_num":"0"},{"text":"© AutomatedReportsService.php","page_num":"0","block_num":"0","word_num":"0","par_num":"0","top":"0.05226480815613055","conf":"1","height":"0.013937282410154683","line_num":"0","level":"0","left":"0.20058139770824915","width":"0.0668604627568671"},{"height":"0.01773835901628462","word_num":"0","left":"0.039244187278340156","page_num":"0","block_num":"0","line_num":"0","conf":"0.30000001192092896","level":"0","par_num":"0","text":"> D ProphetAi","top":"0.07317073185813372","width":"0.036337208240590196"},{"block_num":"0","left":"0.039244185114674646","height":"0.010452960286604362","text":"v @ Reports","word_num":"0","top":"0.09407665591941561","par_num":"0","width":"0.02906976608519858","page_num":"0","conf":"0.30000001192092896","level":"0","line_num":"0"},{"block_num":"0","left":"0.053779072952635544","top":"0.10765550210970942","word_num":"0","text":"© AutomatedReports(","page_num":"0","par_num":"0","conf":"0.5","line_num":"0","width":"0.046511624721770596","level":"0","height":"0.01778003777803605"},{"line_num":"0","top":"0.12891986087426455","block_num":"0","width":"0.06831394357884184","level":"0","text":"© AutomatedReportsf D Modif","left":"0.05232559125662212","par_num":"0","word_num":"0","page_num":"0","height":"0.010633568254193926","conf":"0.5"},{"width":"0.05668604627568671","par_num":"0","word_num":"0","block_num":"0","page_num":"0","text":"© DetachActivityObject.php","conf":"1","level":"0","line_num":"0","top":"0.07655502392344493","height":"0.01754385964912286","left":"0.10319767524515083"},{"conf":"0.5","par_num":"0","top":"0.08362369371499645","width":"0.055232550235504774","page_num":"0","text":"eventservicerrovider.ong","height":"0.006968640444571572","word_num":"0","line_num":"0","block_num":"0","left":"0.16715116398108507","level":"0"},{"width":"0.04360464785961393","conf":"0.30000001192092896","height":"0.01754385964912286","block_num":"0","page_num":"0","top":"0.07655502392344493","level":"0","line_num":"0","left":"0.23110465427215487","word_num":"0","text":"C RematchActivityO1","par_num":"0"},{"word_num":"0","left":"0.05232558071766947","level":"0","block_num":"0","line_num":"0","page_num":"0","par_num":"0","text":"c) Automateakeporis.","conf":"0.30000001192092896","top":"0.14982578435435434","width":"0.04651162472177058","height":"0.0072715042880847625"},{"page_num":"0","text":"c) CreatемосkaSkJim","conf":"0.30000001192092896","level":"0","width":"0.04651162472177058","line_num":"0","left":"0.05232558071766947","block_num":"0","top":"0.16724738709478748","height":"0.006968640444571461","word_num":"0","par_num":"0"},{"line_num":"0","word_num":"0","left":"0.052325582289839266","par_num":"0","top":"0.1777003484835593","block_num":"0","conf":"1","height":"0.01767445219000363","level":"0","page_num":"0","text":"© DeleteReportComm","width":"0.04796511568921678"},{"line_num":"0","block_num":"0","top":"0.20175438612361396","height":"0.0073048471453847075","left":"0.052325580434208346","text":"c) GenerateMarketing","width":"0.04651162979450632","word_num":"0","page_num":"0","par_num":"0","conf":"0.5","level":"0"},{"width":"0.02906976608519858","left":"0.052325582601930196","height":"0.013937282410154683","level":"0","page_num":"0","top":"0.21602787443952198","word_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"© Team.php","conf":"0.5"},{"block_num":"0","left":"0.05232558254542595","line_num":"0","par_num":"0","text":"© Usage.php","top":"0.23344947722863763","width":"0.03052325451627691","level":"0","word_num":"0","page_num":"0","conf":"0.5","height":"0.013937282410154683"},{"text":"Slack","top":"0.2473867595591559","block_num":"0","page_num":"0","level":"0","word_num":"0","height":"0.017421602252187585","line_num":"0","left":"0.04505813946538093","par_num":"0","width":"0.020348836766912577","conf":"0.30000001192092896"},{"left":"0.039244189962876416","line_num":"0","top":"0.271777003894373","level":"0","conf":"0.30000001192092896","block_num":"0","width":"0.0276162751177524","word_num":"0","text":">W Teams","page_num":"0","height":"0.007329854098233168","par_num":"0"},{"width":"0.021802323929806966","word_num":"0","conf":"0.30000001192092896","level":"0","left":"0.04505813927056174","par_num":"0","height":"0.01064190339813964","block_num":"0","line_num":"0","page_num":"0","text":"w Tracks","top":"0.28919860679444775"},{"conf":"0.30000001192092896","top":"0.306620209394439","level":"0","height":"0.006968640444571461","left":"0.04360465114498203","line_num":"0","par_num":"0","width":"0.03633720570422234","word_num":"0","page_num":"0","text":"a Transcriotion","block_num":"0"},{"width":"0.021802323929806973","word_num":"0","block_num":"0","left":"0.0450581411720214","level":"0","height":"0.013937282410154683","line_num":"0","page_num":"0","par_num":"0","conf":"0.5","text":"O Twilio","top":"0.32055749108295983"},{"text":"100","page_num":"0","level":"0","par_num":"0","word_num":"0","width":"0.010174418383456299","line_num":"0","height":"0.017421602252187585","conf":"1","left":"0.10029069795458967","block_num":"0","top":"0.320557491382617"},{"par_num":"0","level":"0","line_num":"0","left":"0.03924418815309432","page_num":"0","top":"0.34130781499202545","conf":"0.30000001192092896","word_num":"0","block_num":"0","text":">M Users","width":"0.026162789223041945","height":"0.0071770334928230595"},{"height":"0.013937282410154683","conf":"0.5","left":"0.04505814071452588","text":"D Vocabulary","par_num":"0","block_num":"0","line_num":"0","level":"0","page_num":"0","width":"0.03343023137843355","word_num":"0","top":"0.35540069665787266"},{"top":"0.35540069695752985","line_num":"0","height":"0.017421602252187585","level":"0","text":"102","word_num":"0","width":"0.010174418383456299","page_num":"0","block_num":"0","conf":"1","left":"0.10029069795458967","par_num":"0"},{"conf":"0.30000001192092896","left":"0.03924418814624977","page_num":"0","top":"0.3763066205343165","level":"0","line_num":"0","block_num":"0","height":"0.0072659472719524","width":"0.024709300791963616","word_num":"0","par_num":"0","text":">M Zoom"},{"block_num":"0","word_num":"0","conf":"1","height":"0.014354066985645897","left":"0.04651163032589352","page_num":"0","par_num":"0","text":"© CoachingFeedbacksU; 104","top":"0.38995215311004783","level":"0","line_num":"0","width":"0.06395348589471046"},{"top":"0.41114982595421345","left":"0.04651163156607041","word_num":"0","text":"© Command.php","line_num":"0","par_num":"0","height":"0.010700253968793927","block_num":"0","page_num":"0","width":"0.03779069413530066","level":"0","conf":"1"},{"par_num":"0","height":"0.01754385964912275","width":"0.0625","text":"© CreateDatabaseUsers. 106","top":"0.42503987240829344","line_num":"0","word_num":"0","conf":"1","level":"0","page_num":"0","block_num":"0","left":"0.046511628899692445"},{"height":"0.007188147525087674","par_num":"0","top":"0.4457735246606205","width":"0.06104650395981808","word_num":"0","conf":"0.30000001192092896","text":"(C) DatahaceTableCount r 102","level":"0","left":"0.04651163548658751","line_num":"0","page_num":"0","block_num":"0"},{"height":"0.00348432060253856","page_num":"0","width":"0.06104650903255381","word_num":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","par_num":"0","top":"0.46689895467716114","left":"0.046511629131978906","text":"OwoptoollelAledmniNetece","level":"0"},{"line_num":"0","text":"(C) DeleteS2l eftoversCon 190","conf":"0.30000001192092896","left":"0.04651163548658759","par_num":"0","top":"0.48083623717426005","width":"0.061046503959818095","block_num":"0","word_num":"0","height":"0.00720204044567152","page_num":"0","level":"0"},{"level":"0","line_num":"0","height":"0.014354066985645897","width":"0.06395348589471046","top":"0.49441786283891553","block_num":"0","par_num":"0","page_num":"0","text":"• DevPostmanCommanc 110","word_num":"0","conf":"0.5","left":"0.04651163032589352"},{"conf":"0.30000001192092896","top":"0.5365853660742468","par_num":"0","word_num":"0","text":"C Ehcryptl okenscomma 112","line_num":"0","page_num":"0","height":"0.007274283176403884","width":"0.06249998985452855","block_num":"0","level":"0","left":"0.046511631551186"},{"conf":"0.5","left":"0.046511637793004615","page_num":"0","text":"© EngagementStatsRege 113","width":"0.06249998985452855","block_num":"0","level":"0","word_num":"0","top":"0.5502392342775435","height":"0.010736374953907224","par_num":"0","line_num":"0"},{"block_num":"0","conf":"0.5","height":"0.006968640444571572","line_num":"0","top":"0.5714285717637769","left":"0.04651162779022732","par_num":"0","width":"0.062499994927264275","text":"wreaturerlaosmeloer.on 114","word_num":"0","page_num":"0","level":"0"},{"block_num":"0","line_num":"0","level":"0","height":"0.0071798116206361895","page_num":"0","text":"(c) FlushRolesPermissions 116","left":"0.04651163155145589","top":"0.6060606061050023","width":"0.06249998985452855","word_num":"0","par_num":"0","conf":"0.5"},{"height":"0.010572439555726287","page_num":"0","par_num":"0","block_num":"0","line_num":"0","width":"0.062499989854528544","left":"0.04651163779300483","text":"© GeneratelnternalWebh 117","conf":"1","level":"0","top":"0.6202090596143536","word_num":"0"},{"page_num":"0","level":"0","left":"0.046511630856241375","par_num":"0","width":"0.05232557844608388","conf":"0.5","text":"€ GroupSetDefaultLangu","height":"0.010694696952661675","block_num":"0","line_num":"0","top":"0.6376306620470675","word_num":"0"},{"left":"0.046511629632457085","block_num":"0","width":"0.06104650395981809","line_num":"0","top":"0.6929824560019078","conf":"0.5","text":"(C) HubsootWebhookSery 120","height":"0.007365975843852457","level":"0","page_num":"0","par_num":"0","word_num":"0"},{"text":"C) ImoortRecordina.oho","word_num":"0","top":"0.7105263157023801","page_num":"0","block_num":"0","width":"0.049418606656662964","level":"0","conf":"0.5","left":"0.04651162682786565","par_num":"0","height":"0.0072437192074229495","line_num":"0"},{"line_num":"0","level":"0","height":"0.017782816666355172","text":"© ImportUsersFromCsvF 122","top":"0.7208931416757138","page_num":"0","left":"0.045058139793044474","width":"0.06395348589471046","word_num":"0","block_num":"0","par_num":"0","conf":"1"},{"level":"0","left":"0.04651163028667126","text":"C IterateUsersCommand 123","line_num":"0","height":"0.0071770334928229484","conf":"0.5","page_num":"0","word_num":"0","width":"0.06104650903255381","par_num":"0","top":"0.7456140350877193","block_num":"0"},{"line_num":"0","page_num":"0","left":"0.04651163016870112","conf":"0.30000001192092896","height":"0.006968641205077342","par_num":"0","block_num":"0","text":"C).liminnvbebuaCommar 129","level":"0","word_num":"0","top":"0.7804878048247054","width":"0.06104650903255382"},{"level":"0","line_num":"0","par_num":"0","top":"0.7942583732057417","height":"0.014354066985645897","width":"0.0625","word_num":"0","conf":"1","left":"0.04651162877806622","block_num":"0","page_num":"0","text":"© JiminnySetEncryptedT 126"},{"level":"0","word_num":"0","par_num":"0","line_num":"0","text":"C.liminnvTokeninfoCom 121","width":"0.06104650903255382","block_num":"0","height":"0.00730762603370394","left":"0.04651163016870112","conf":"0.30000001192092896","page_num":"0","top":"0.8149920255179948"},{"level":"0","width":"0.061046503959818095","block_num":"0","conf":"0.30000001192092896","line_num":"0","par_num":"0","text":"(C) ManadeScimForTeam.|120","top":"0.8500797448165869","height":"0.0071770334928230595","left":"0.04651163557506529","page_num":"0","word_num":"0"},{"conf":"1","block_num":"0","level":"0","word_num":"0","left":"0.046511628899692445","par_num":"0","width":"0.0625","page_num":"0","height":"0.013937282410154683","line_num":"0","text":"© MarkBranchForEnviror 130","top":"0.8641114980516008"},{"top":"0.8850174217942274","level":"0","par_num":"0","width":"0.06104650395981808","block_num":"0","page_num":"0","left":"0.04651163548658751","height":"0.007327075970420038","text":"(C) MuteOraanizerChanne 131","conf":"0.5","line_num":"0","word_num":"0"},{"height":"0.014354066985645897","line_num":"0","text":"© PhpApm.php","width":"0.034883719809511875","block_num":"0","level":"0","top":"0.8987240829346093","word_num":"0","conf":"1","page_num":"0","par_num":"0","left":"0.04651162904873241"},{"line_num":"0","page_num":"0","top":"0.916267942583732","text":"© PropagateCoachingFe 133","height":"0.01754385964912286","word_num":"0","level":"0","block_num":"0","par_num":"0","left":"0.04651163126736568","width":"0.06249999492726427","conf":"1"},{"page_num":"0","left":"0.04651163032589352","level":"0","text":"© PurgeConferences.php 134","top":"0.9337979094180402","line_num":"0","block_num":"0","par_num":"0","width":"0.06395348589471046","word_num":"0","conf":"0.5","height":"0.01755775256970671"},{"height":"0.017680009966641874","block_num":"0","top":"0.9512195119378624","width":"0.0625","conf":"0.5","left":"0.046511628899692445","level":"0","line_num":"0","page_num":"0","par_num":"0","text":"© PurgeSoftDeletedOppr 135","word_num":"0"},{"left":"0.12209302712837707","block_num":"0","conf":"1","level":"0","top":"0.15311004784688997","text":"class AutomatedReportscommand extends Command","width":"0.11773255530824052","par_num":"0","page_num":"0","word_num":"0","line_num":"0","height":"0.0071770334928229484"},{"conf":"1","par_num":"0","height":"0.017707794286797918","text":"public function handle(): int","width":"0.07848837020549368","line_num":"0","word_num":"0","page_num":"0","top":"0.16347687417875345","left":"0.13081395532772241","block_num":"0","level":"0"},{"left":"0.1526162779489146","level":"0","height":"0.0073048471453848185","top":"0.20175438613450236","text":"1t S1sF1rstDayufMonth === false)","page_num":"0","conf":"0.30000001192092896","par_num":"0","word_num":"0","block_num":"0","line_num":"0","width":"0.09156976862156646"},{"text":"return 0%","height":"0.007182590508955311","top":"0.21929824549679078","level":"0","conf":"0.30000001192092896","left":"0.1627906997594104","line_num":"0","page_num":"0","par_num":"0","width":"0.024709300791963623","word_num":"0","block_num":"0"},{"height":"0.01764944523715517","line_num":"0","block_num":"0","word_num":"0","par_num":"0","top":"0.28548644309059557","level":"0","left":"0.14244186164361244","text":"// Process weekly reports on Mondays","conf":"0.5","width":"0.09593023137843357","page_num":"0"},{"width":"0.04360464785961393","page_num":"0","height":"0.006968640444571461","text":"1+ sishondav s","line_num":"0","par_num":"0","conf":"0.30000001192092896","top":"0.306620209394439","left":"0.14244186403685752","level":"0","block_num":"0","word_num":"0"},{"height":"0.013937282410154683","par_num":"0","block_num":"0","left":"0.15261628211304706","text":"$this->processReportsByFrequency ( fre","line_num":"0","page_num":"0","conf":"1","word_num":"0","level":"0","top":"0.32055749118838284","width":"0.09447674041098739"},{"level":"0","text":"// Process monthly reports on the first day of the","par_num":"0","height":"0.017421602252187585","top":"0.3728222997449864","width":"0.13081395372431331","word_num":"0","conf":"1","line_num":"0","left":"0.14244186085957955","page_num":"0","block_num":"0"},{"level":"0","block_num":"0","top":"0.38675958183603654","word_num":"0","par_num":"0","width":"0.06831395372431331","text":"if (SisFirstDay0fMonth) €","conf":"1","page_num":"0","left":"0.142441861055744","height":"0.017546638537441872","line_num":"0"},{"conf":"1","block_num":"0","line_num":"0","height":"0.014354066985645897","left":"0.15116279635975907","par_num":"0","text":"$this->processReportsByFrequency( frequency: Autc","width":"0.12209301806510761","top":"0.4074960127591707","word_num":"0","page_num":"0","level":"0"},{"page_num":"0","text":"// Process quarterly reports on the first day of","conf":"1","top":"0.45993031357802616","width":"0.12790697178942093","word_num":"0","height":"0.017741137904603743","block_num":"0","level":"0","left":"0.14244186451666876","line_num":"0","par_num":"0"},{"conf":"1","width":"0.12209301806510761","par_num":"0","height":"0.017421602252187585","word_num":"0","level":"0","left":"0.14244186468256495","line_num":"0","page_num":"0","block_num":"0","text":"if ($isFirstDay0fMonth && $isQuarterlyMonth) {","top":"0.4773519164697251"},{"page_num":"0","height":"0.014354066985645897","block_num":"0","conf":"1","top":"0.49441786283891553","line_num":"0","par_num":"0","level":"0","text":"Sthis->processReportsByFrequency ( frequency: Autd","left":"0.15116279506234043","width":"0.12354650903255382","word_num":"0"},{"height":"0.017554973681387476","block_num":"0","conf":"0.5","left":"0.14244186092934757","level":"0","par_num":"0","page_num":"0","line_num":"0","top":"0.5470383276981478","text":"$this->Logger->info(self::L0G_PREFIX . ' Completed","width":"0.13081395372431326","word_num":"0"},{"par_num":"0","width":"0.02325581236088531","text":"return 0","conf":"0.5","left":"0.1424418614747109","top":"0.5885167463624611","line_num":"0","word_num":"0","height":"0.007302069017571466","page_num":"0","level":"0","block_num":"0"},{"block_num":"0","conf":"0.5","left":"0.13226744593045076","height":"0.007332632986552401","page_num":"0","level":"0","par_num":"0","text":"private tunction disableExp1redAskJ1m1nnyReportso: vo","width":"0.13953487923804747","word_num":"0","top":"0.6585365854436789","line_num":"0"},{"left":"0.14244186267917944","width":"0.1293604627568671","conf":"0.5","block_num":"0","text":"SexoiredReports = sthis->reportRepository->getexod","word_num":"0","top":"0.6929824561722089","par_num":"0","level":"0","line_num":"0","page_num":"0","height":"0.007365975843852346"},{"width":"0.10174418510274685","left":"0.14244186255909203","page_num":"0","level":"0","block_num":"0","text":"foreach (SexpiredReports as $report) (","top":"0.7208931422620036","word_num":"0","height":"0.017782815145343522","conf":"0.5","par_num":"0","line_num":"0"},{"page_num":"0","block_num":"0","text":"Sthis->loggen->info(self::L0G PRESIX . • Disai","left":"0.152616279255407","conf":"0.30000001192092896","height":"0.0071770334928229484","level":"0","par_num":"0","word_num":"0","line_num":"0","top":"0.7456140350877193","width":"0.11918604627568674"},{"level":"0","text":"'reportUuid' => $report->getUuid(),","height":"0.013942838665781165","line_num":"0","page_num":"0","left":"0.16279070404482626","conf":"1","width":"0.09302324944354118","word_num":"0","par_num":"0","block_num":"0","top":"0.7595818819383029"},{"left":"0.16279070687612515","text":"Iteamiid' = Srenont->aetTeamidiol","word_num":"0","par_num":"0","height":"0.006968640444571572","line_num":"0","level":"0","width":"0.08575580475178171","block_num":"0","conf":"0.30000001192092896","top":"0.7804878052132543","page_num":"0"},{"level":"0","block_num":"0","page_num":"0","top":"0.7979094076157492","word_num":"0","line_num":"0","conf":"0.30000001192092896","par_num":"0","text":"\"eyniresAti => Srenont->aetsynires/t02->4","height":"0.006968641205077342","left":"0.1642441866089864","width":"0.10755813882706014"},{"left":"0.1526162781417698","level":"0","top":"0.8466898962907127","height":"0.017743915271911104","width":"0.12063953724313292","word_num":"0","page_num":"0","conf":"1","line_num":"0","block_num":"0","par_num":"0","text":"$this->reportRepository->update(Sreport, ['sta"},{"level":"0","text":"* Process all active reports for a specific frequency","line_num":"0","top":"0.9337979095922564","conf":"1","width":"0.1395348792380475","word_num":"0","block_num":"0","par_num":"0","height":"0.017557752569706597","left":"0.1337209300566289","page_num":"0"},{"block_num":"0","left":"0.8343023231844134","height":"0.020905922094220375","par_num":"0","text":"QAA 10%4 8 Mon27 Apr 18:40:37","top":"0.00000000033500369145400555","word_num":"0","width":"0.16133721331332596","conf":"0.30000001192092896","level":"0","line_num":"0","page_num":"0"},{"block_num":"0","conf":"0.30000001192092896","height":"0.0210643019972806","text":"→ C","line_num":"0","top":"0.024390243714695115","page_num":"0","par_num":"0","width":"0.018895348335834228","word_num":"0","level":"0","left":"0.3241279074163852"},{"line_num":"0","width":"0.06686046275686713","height":"0.010647461174777773","level":"0","text":"Platform Sprint 2 Q2 - Platform Te","word_num":"0","conf":"0.5","left":"0.27906976982649695","block_num":"0","page_num":"0","top":"0.06271777014712476","par_num":"0"},{"par_num":"0","top":"0.09728867614662373","height":"0.007240940319103828","left":"0.27761628883179823","level":"0","block_num":"0","line_num":"0","conf":"0.5","text":"WJY-203521 Svnc opportunities wit","page_num":"0","width":"0.0683139435788418","word_num":"0"},{"page_num":"0","text":"Jy-20157 add not enough activitie:","par_num":"0","width":"0.06976743961902376","word_num":"0","top":"0.12519936196839465","block_num":"0","left":"0.27761627903396385","height":"0.017657780381100774","level":"0","line_num":"0","conf":"0.5"},{"word_num":"0","width":"0.06686046275686713","top":"0.16027874569595713","text":"R JY-20508 notify creator if ask-lin","conf":"0.30000001192092896","level":"0","block_num":"0","page_num":"0","line_num":"0","left":"0.2776162786223274","par_num":"0","height":"0.010452961047110243"},{"width":"0.07267441648118039","line_num":"0","page_num":"0","block_num":"0","text":"Al reports promotion pages by","word_num":"0","par_num":"0","top":"0.1913875597459146","height":"0.01767167330168451","left":"0.2776162819600469","conf":"0.5","level":"0"},{"top":"0.22647527892204267","word_num":"0","width":"0.04651162472177056","conf":"0.5","height":"0.010458518823748375","text":"Pipelines - jiminny/ap","block_num":"0","level":"0","left":"0.27761627801893696","par_num":"0","line_num":"0","page_num":"0"},{"level":"0","line_num":"0","par_num":"0","block_num":"0","left":"0.28052326058327787","text":"1 (UY-20725) Sentry Hubspot Rate","page_num":"0","top":"0.28548644309059557","conf":"0.5","height":"0.01764944523715517","word_num":"0","width":"0.06831394865157753"},{"width":"0.06686046275686708","block_num":"0","conf":"0.5","page_num":"0","height":"0.017421602252187474","level":"0","text":"4 (UY-20699] Wrong formatting for","top":"0.31707317082512576","word_num":"0","left":"0.2819767464272885","par_num":"0","line_num":"0"},{"word_num":"0","top":"0.38327526141746027","page_num":"0","level":"0","par_num":"0","left":"0.27761627967024355","width":"0.06831395372431331","conf":"0.5","block_num":"0","height":"0.017421602252187474","line_num":"0","text":"M Inbox (1,613) - lukas.kovalik@jimin"},{"line_num":"0","top":"0.027874564698191828","height":"0.017579980634236048","level":"0","page_num":"0","word_num":"0","block_num":"0","conf":"1","text":"© github.com/jim","width":"0.04069767353382514","left":"0.3924418615858006","par_num":"0"},{"conf":"1","block_num":"0","top":"0.027874564553348802","word_num":"0","level":"0","width":"0.03343023137843354","height":"0.017421602252187474","line_num":"0","page_num":"0","par_num":"0","left":"0.44186046626330255","text":"/app/pull/11998"},{"level":"0","word_num":"0","height":"0.02090592282229975","conf":"1","left":"0.8895348839026164","line_num":"0","text":"*","top":"0.027874564982578343","par_num":"0","width":"0.008720930014534889","block_num":"0","page_num":"0"},{"page_num":"0","width":"0.018895348335834283","level":"0","top":"0.07317073150107833","line_num":"0","word_num":"0","height":"0.013937282410154683","conf":"0.30000001192092896","par_num":"0","text":"8? Open","block_num":"0","left":"0.4781976749226045"},{"word_num":"0","level":"0","text":"AI reports promotion pages by niki","height":"0.015358375780510247","left":"0.27754123777823336","block_num":"0","par_num":"0","page_num":"0","conf":"0.5","width":"0.06845502650484125","top":"0.5154437846881926","line_num":"0"},{"height":"0.017554973681387476","conf":"0.5","left":"0.27906976927235616","level":"0","line_num":"0","text":"Ca CloudWatch | us-east-2","par_num":"0","top":"0.5470383278142917","page_num":"0","width":"0.049418601583927246","word_num":"0","block_num":"0"},{"height":"0.0071770334928229484","block_num":"0","left":"0.27761627868916655","par_num":"0","width":"0.06976743454628798","conf":"0.5","level":"0","word_num":"0","line_num":"0","top":"0.5853269537480064","page_num":"0","text":"Z Configure SSH access to multiple €"},{"conf":"0.30000001192092896","par_num":"0","line_num":"0","height":"0.02102540212384818","page_num":"0","text":"a CloudWatch | us-east-2","level":"0","top":"0.6097560973198397","width":"0.05087209255137343","block_num":"0","left":"0.2790697683688717","word_num":"0"},{"width":"0.03488371727314399","page_num":"0","left":"0.2790697711111469","par_num":"0","block_num":"0","text":"EC2 |us-east-2","conf":"0.30000001192092896","height":"0.010608561301345465","word_num":"0","line_num":"0","level":"0","top":"0.6480836238742205"},{"width":"0.07122092551373421","level":"0","height":"0.010764160034569037","page_num":"0","text":"P Postmark | QAl > Message Streams","line_num":"0","conf":"0.5","word_num":"0","block_num":"0","par_num":"0","top":"0.6826156300966922","left":"0.2776162841527793"},{"conf":"0.5","level":"0","left":"0.27761627898528585","par_num":"0","top":"0.710526315967238","block_num":"0","page_num":"0","line_num":"0","text":"f Ask Jiminny Reports by nikolay-yar","height":"0.01769668025453308","word_num":"0","width":"0.06976743961902376"},{"conf":"0.30000001192092896","height":"0.010483525016091066","left":"0.27761628365214025","line_num":"0","par_num":"0","page_num":"0","text":"1 APl usage quidelines and limits - H","top":"0.7456140351751869","width":"0.06831394865157764","level":"0","word_num":"0","block_num":"0"},{"width":"0.07122092551373421","word_num":"0","page_num":"0","conf":"0.5","line_num":"0","text":"# (JY-20508] Notify a user before th","top":"0.7767145135566188","par_num":"0","left":"0.27761628352288614","level":"0","block_num":"0","height":"0.014354066985645897"},{"left":"0.27906976701368846","level":"0","par_num":"0","text":"- New Tab","conf":"1","height":"0.0071770334928229484","word_num":"0","top":"0.8118022328548644","width":"0.021802326466174804","line_num":"0","page_num":"0","block_num":"0"},{"top":"0.06271777012826163","width":"0.08284883296236079","word_num":"0","block_num":"0","height":"0.017421602252187585","page_num":"0","level":"0","conf":"1","line_num":"0","text":"Al reports promotion pages #11998","left":"0.5029069814629333","par_num":"0"},{"block_num":"0","height":"0.010475189872145463","conf":"1","left":"0.5029069788625159","word_num":"0","page_num":"0","par_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","top":"0.08362369388853863","width":"0.21947672012004438","line_num":"0","level":"0"},{"block_num":"0","text":"Region detection unexplained","top":"0.12195121940661446","width":"0.06540697686215657","conf":"1","left":"0.514534883883909","height":"0.013937282410154794","par_num":"0","line_num":"0","word_num":"0","level":"0","page_num":"0"},{"conf":"1","level":"0","block_num":"0","line_num":"0","width":"0.021802323929806966","height":"0.006968640444571461","page_num":"0","left":"0.5145348856368406","par_num":"0","text":"behavioun","word_num":"0","top":"0.14285714319234843"},{"width":"0.13081393343337044","word_num":"0","par_num":"0","text":"Fixed - comment added at AutomatedReportsPromo.vue: 89","block_num":"0","conf":"1","height":"0.010480746888277825","left":"0.5988372157730658","level":"0","line_num":"0","page_num":"0","top":"0.13237639557736158"},{"page_num":"0","top":"0.16347687400318978","level":"0","conf":"1","height":"0.021531100478468956","word_num":"0","text":"alt=\"Report illustration\" same","block_num":"0","width":"0.07558139334333702","par_num":"0","line_num":"0","left":"0.5159883746882595"},{"par_num":"0","left":"0.5145348850247161","height":"0.00722149038238773","line_num":"0","text":"Tor all caras","conf":"0.5","level":"0","top":"0.18815331018005022","block_num":"0","width":"0.026162789223041938","word_num":"0","page_num":"0"},{"par_num":"0","conf":"0.5","word_num":"0","block_num":"0","page_num":"0","text":"Fixed - now :alt=\"| $(title) illustration'\"' (dynamic, per-card)","width":"0.1409883702054936","top":"0.17384369982915726","height":"0.017793930698619898","left":"0.598837212269142","line_num":"0","level":"0"},{"width":"0.06249998985452854","line_num":"0","block_num":"0","word_num":"0","conf":"0.30000001192092896","text":"N+1 D8 querv on everv usen","page_num":"0","left":"0.5130814053645923","par_num":"0","top":"0.2229965160146481","level":"0","height":"0.006968640444571461"},{"width":"0.13226743454628787","level":"0","page_num":"0","par_num":"0","word_num":"0","block_num":"0","conf":"1","line_num":"0","top":"0.2089314196626718","height":"0.017549415904749344","left":"0.5988372165134727","text":"Partially improved - renamed to userReportsExist /uses"},{"left":"0.6017441939505417","level":"0","page_num":"0","par_num":"0","width":"0.14970929571922786","height":"0.01754385964912286","conf":"0.5","text":".exists() rather than count() > 0 , but the extra query still fires on","block_num":"0","line_num":"0","top":"0.22647527910685805","word_num":"0"},{"page_num":"0","par_num":"0","width":"0.03633720824059028","word_num":"0","block_num":"0","conf":"0.5","top":"0.24720893141945777","level":"0","line_num":"0","height":"0.0071770334928229484","left":"0.5988372104598045","text":"every page load"},{"block_num":"0","word_num":"0","left":"0.5014534874871209","conf":"0.30000001192092896","par_num":"0","width":"0.06686046275686708","level":"0","line_num":"0","height":"0.010519647522216014","page_num":"0","text":"7 Hardcoded YouTube URU","top":"0.27177700333990384"},{"word_num":"0","left":"0.5988372088215707","page_num":"0","conf":"0.5","text":"Still present — minor. unchanaed","width":"0.07558138827060135","block_num":"0","line_num":"0","height":"0.0071770334928229484","level":"0","top":"0.27511961722488043","par_num":"0"},{"top":"0.33413078171186406","text":"Remaining / new findings","par_num":"0","level":"0","conf":"1","width":"0.07122093058646989","left":"0.49709302361409763","page_num":"0","height":"0.017785594033662533","block_num":"0","line_num":"0","word_num":"0"},{"conf":"1","height":"0.01754385964912275","block_num":"0","level":"0","text":"1. Extra DB query still fires on every page load","page_num":"0","word_num":"0","line_num":"0","top":"0.3692185007974482","par_num":"0","left":"0.49709302738478434","width":"0.10610464785961393"},{"line_num":"0","block_num":"0","height":"0.011164274322168932","conf":"1","level":"0","page_num":"0","word_num":"0","left":"0.4985465124002562","width":"0.24709299777416477","par_num":"0","top":"0.40031897926634774","text":"app/Http/Transformers/UserTransformer.php:139 /app/Repositories/AutomatedReportsRepository.php:291-297"},{"word_num":"0","line_num":"0","width":"0.231104627568671","block_num":"0","conf":"1","level":"0","page_num":"0","par_num":"0","height":"0.007252054351368553","left":"0.5029069772278429","text":"'hasGeneratedAiReports' => Sthis->aetAutomatedReportsRepositorvo>userReportsExist(Suser).","top":"0.4425087111743482"},{"height":"0.017568866601971322","left":"0.4970930482268717","block_num":"0","conf":"1","par_num":"0","text":"Switching from count() > 0 to exists() is a welcome improvement - MySQL can short-circuit on the first matching","width":"0.25872090522279145","page_num":"0","word_num":"0","line_num":"0","top":"0.48083623705811607","level":"0"},{"conf":"0.5","page_num":"0","top":"0.5015948963317385","level":"0","block_num":"0","word_num":"0","par_num":"0","text":"row. However the query still runs on everv liserTransformer::transform() call for the authenticated user (i.e. every/","width":"0.2572674041098737","height":"0.0071770334928229484","left":"0.49709306096953965","line_num":"0"},{"width":"0.2543604424659242","line_num":"0","block_num":"0","word_num":"0","par_num":"0","top":"0.5119617224880383","height":"0.021531100478468845","conf":"1","left":"0.4970930459061112","page_num":"0","level":"0","text":"users/current hit, which fires on every page load). The underlying applyUserAccessScope uses whereJsonContains"},{"width":"0.2485464988870823","left":"0.49709303719616","word_num":"0","par_num":"0","text":"on a recipients JSON column and an optional aroups column — both are hard to index and can be slow on larae","conf":"1","level":"0","page_num":"0","height":"0.007274283176403884","block_num":"0","line_num":"0","top":"0.5365853660742468"},{"height":"0.017421602252187585","block_num":"0","conf":"1","word_num":"0","page_num":"0","level":"0","par_num":"0","width":"0.02180232392980702","line_num":"0","top":"0.5470383275034068","text":"datasets.","left":"0.49709302381513526"},{"text":"If this path becomes a bottleneck, consider caching the result per user_id for the lifetime of the request using","word_num":"0","page_num":"0","top":"0.5749128922629945","block_num":"0","conf":"1","left":"0.49709302377278036","width":"0.24273255530824062","height":"0.020905922094220375","level":"0","line_num":"0","par_num":"0"},{"top":"0.5956937799066419","text":"Laravel's Cache:: remember with a reguest store. or storing has generated ai revorts as a denormalised boolean","page_num":"0","par_num":"0","word_num":"0","left":"0.4970930302367606","level":"0","width":"0.2514534808219748","conf":"0.5","height":"0.010577996571858761","block_num":"0","line_num":"0"},{"page_num":"0","line_num":"0","width":"0.1366278973031551","height":"0.017421602252187474","level":"0","top":"0.609756098002826","block_num":"0","left":"0.4970930283749789","conf":"1","text":"on users updated by the report generation/deletion pipelines.","word_num":"0","par_num":"0"},{"left":"0.49709302269651073","height":"0.007229826286839214","width":"0.021802326466174804","par_num":"0","conf":"0.30000001192092896","line_num":"0","text":"Fix this →","top":"0.6443381179699513","page_num":"0","level":"0","word_num":"0","block_num":"0"},{"block_num":"0","conf":"1","text":"2. PanoramaReportsPromo. vue features grid not responsive","level":"0","width":"0.14244185102746842","line_num":"0","page_num":"0","top":"0.6968641114980333","word_num":"0","height":"0.01764944523715517","left":"0.497093032689084","par_num":"0"},{"height":"0.010452960286604362","page_num":"0","top":"0.7282229970343982","conf":"1","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue:167-171","level":"0","block_num":"0","width":"0.212209275428285","line_num":"0","word_num":"0","left":"0.4985465356870192","par_num":"0"},{"text":"grid-t","line_num":"0","word_num":"0","top":"0.7944250875498644","block_num":"0","height":"0.017421602252187585","level":"0","page_num":"0","left":"0.5072674419573826","par_num":"0","width":"0.0145348830425992","conf":"1"},{"height":"0.010497417936674802","text":"gap: 24px 32px;","width":"0.036337205704222275","left":"0.5072674454578363","word_num":"0","line_num":"0","page_num":"0","block_num":"0","top":"0.8118022328946349","par_num":"0","level":"0","conf":"1"},{"par_num":"0","level":"0","conf":"1","height":"0.010703032096607279","text":"ce-columns: repeat(2, 1fr);","width":"0.0625","block_num":"0","line_num":"0","word_num":"0","left":"0.5363372084955288","page_num":"0","top":"0.7979094080543587"},{"page_num":"0","left":"0.49709303681785716","text":"The wrapper stacks to a single column on mobile (fixed), but inside . left the features grid stays 2-column. On narrow","par_num":"0","word_num":"0","width":"0.25726740410987364","top":"0.8641114989282507","block_num":"0","line_num":"0","height":"0.013937280889143033","conf":"1","level":"0"},{"top":"0.8811802232854864","conf":"1","page_num":"0","line_num":"0","level":"0","par_num":"0","text":"viewports the feature cards will be cramped. AutomatedReportsPromo.vue's .cards grid correctly collapses to grid-","width":"0.25581392328789887","height":"0.011164274322169154","word_num":"0","left":"0.4970930277125417","block_num":"0"},{"par_num":"0","text":"template-columns: 1fr at (media (mobile - the same treatment is needed here.","conf":"0.5","top":"0.8954703835923444","word_num":"0","left":"0.49709302414496787","block_num":"0","level":"0","width":"0.1802325553082405","line_num":"0","page_num":"0","height":"0.01760776647540374"},{"line_num":"0","left":"0.49709302269651073","word_num":"0","level":"0","height":"0.006968641205077342","block_num":"0","text":"Fix this →","conf":"0.5","par_num":"0","top":"0.930313588781898","width":"0.021802326466174804","page_num":"0"},{"par_num":"0","line_num":"0","word_num":"0","conf":"1","level":"0","block_num":"0","top":"0.9860627177670481","width":"0.15697674041098736","page_num":"0","text":"3. Wording inconsistency between modal and inline success message","height":"0.01074748974667783","left":"0.49709302823689877"}]...
|
iTerm2
|
AppleNative
|
NULL
|
1
|
4838
|
NULL
|
NULL
|
|
89097
|
Firefox FileEditViewHistoryBookmarksProfilesToolsW Firefox FileEditViewHistoryBookmarksProfilesToolsWindowHelp‹$0APP (-zsh)*3DOCKER-₴81DEV (docker)₴82jiminny-worker-processing-2:jiminny-worker-processing-2_00:startedjiminny-worker-processing-3:jiminny-worker-processing-3_00:startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00:startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00:startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00:startedworker-download:worker-download_00:startedworker-emails:worker-emails_00:startedworker-es-update:worker-es-update_00:startedworker-nudges:worker-nudges_00: startedAPP (-zsh)screenpipe"O 84What's next:Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ csfixdocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diffPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.PHP runtime: 8.3.30Running analysis on 7 cores with 10 files per process.Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!Loadedconfig default from".php-cs-fixer.dist.php".5636/5636 [100%-zsh885100% [8 Mon 27 Apr 18:40:37181ec2-user@ip-10-30-95-134:...• ₴6|+APPFixed 0 of 5636 files in 79.526 seconds, 60.00 MB memory usedWhat's next:Try Docker Debug for seamless, persistent debugging tools in any container or image + docker debug docker_lamp_1Learn more at https://docs.docker.com/go/debug-cli/lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ I...
|
[{"par_num":"0","left": [{"par_num":"0","left":"0.036337207977171104","level":"0","block_num":"0","height":"0.014444444444444371","word_num":"0","line_num":"0","width":"0.0625","top":"0.00666666666666671","conf":"0.5","text":"Firefox File","page_num":"0"},{"par_num":"0","page_num":"0","level":"0","text":"Edit","conf":"1","word_num":"0","width":"0.01744185951020981","height":"0.013953487608167836","left":"0.11191860503171679","top":"0.006976744800567203","block_num":"0","line_num":"0"},{"conf":"1","word_num":"0","page_num":"0","width":"0.021802324718899202","block_num":"0","left":"0.14244186096903877","text":"View","line_num":"0","height":"0.013953487608167836","par_num":"0","top":"0.006976744800567203","level":"0"},{"text":"History","conf":"1","page_num":"0","par_num":"0","block_num":"0","level":"0","word_num":"0","width":"0.030523255136277933","height":"0.013953487608167836","left":"0.17732558203941914","line_num":"0","top":"0.006976744474985863"},{"width":"0.049418603049384224","top":"0.0069767444517300214","word_num":"0","left":"0.22093023397676137","text":"Bookmarks","height":"0.013953487608167836","page_num":"0","par_num":"0","conf":"1","block_num":"0","level":"0","line_num":"0"},{"height":"0.014093705283270919","conf":"1","level":"0","page_num":"0","line_num":"0","width":"0.03345298767089844","par_num":"0","left":"0.28196536607237144","word_num":"0","top":"0.006906635805638883","block_num":"0","text":"Profiles"},{"page_num":"0","text":"Tools","top":"0.006976744645528443","word_num":"0","width":"0.026162788603040887","left":"0.3270348843322005","height":"0.013953487608167836","block_num":"0","line_num":"0","par_num":"0","conf":"1","level":"0"},{"top":"0.006976744412970359","width":"0.036337208747863725","height":"0.013953487608167836","word_num":"0","conf":"1","line_num":"0","par_num":"0","left":"0.3648255822781999","page_num":"0","level":"0","text":"Window","block_num":"0"},{"top":"0.006976744474985863","level":"0","text":"Help","left":"0.4127906983236899","block_num":"0","par_num":"0","width":"0.021802324718899202","word_num":"0","page_num":"0","line_num":"0","conf":"0.5","height":"0.013953487608167836"},{"top":"0.002325580916363257","line_num":"0","conf":"0.30000001192092896","height":"0.02325581444634328","left":"0.6831395346760998","par_num":"0","text":"‹$0","word_num":"0","level":"0","block_num":"0","width":"0.04505813916524248","page_num":"0"},{"line_num":"0","page_num":"0","par_num":"0","text":"APP (-zsh)","conf":"1","block_num":"0","width":"0.052325582504272494","height":"0.019043926662868915","left":"0.47383720920201317","level":"0","top":"0.03444444479776454","word_num":"0"},{"line_num":"0","top":"0.06511627880682891","block_num":"0","page_num":"0","left":"0.47093023233952286","width":"0.014534884028964579","level":"0","par_num":"0","conf":"0.30000001192092896","height":"0.01627907011244034","text":"*3","word_num":"0"},{"left":"0.05087209354211576","width":"0.034883719020419646","block_num":"0","par_num":"0","text":"DOCKER","word_num":"0","level":"0","height":"0.011627906163533597","line_num":"0","top":"0.0674418609589309","conf":"1","page_num":"0"},{"level":"0","line_num":"0","page_num":"0","par_num":"0","word_num":"0","height":"0.011627906163533597","block_num":"0","conf":"0.30000001192092896","top":"0.06744186098800065","text":"-₴81","width":"0.017441859510209823","left":"0.1409883722797788"},{"left":"0.2107558135640147","par_num":"0","text":"DEV (docker)","level":"0","page_num":"0","top":"0.0674418609589309","conf":"1","width":"0.05087209277682833","block_num":"0","line_num":"0","word_num":"0","height":"0.011627906163533597"},{"page_num":"0","level":"0","conf":"0.30000001192092896","text":"₴82","left":"0.3081395347943033","width":"0.014534884028964579","word_num":"0","line_num":"0","height":"0.01162790722317164","par_num":"0","top":"0.06744186040650202","block_num":"0"},{"left":"0.0029069847074915875","conf":"1","level":"0","height":"0.016279069052802186","top":"0.0906976746596454","par_num":"0","width":"0.32994185553656685","page_num":"0","word_num":"0","text":"jiminny-worker-processing-2:jiminny-worker-processing-2_00:","line_num":"0","block_num":"0"},{"conf":"1","top":"0.09023822273501814","height":"0.014872392018635994","left":"0.3356962201187976","level":"0","word_num":"0","width":"0.0408168607287937","line_num":"0","page_num":"0","par_num":"0","text":"started","block_num":"0"},{"page_num":"0","word_num":"0","block_num":"0","level":"0","width":"0.3328488243950738","height":"0.01860465155707458","text":"jiminny-worker-processing-3:jiminny-worker-processing-3_00:","left":"0.0029069886987807634","par_num":"0","conf":"1","top":"0.10930232522921468","line_num":"0"},{"page_num":"0","width":"0.042205450269911016","par_num":"0","left":"0.3342751821174008","block_num":"0","conf":"1","text":"started","height":"0.018922025892469607","level":"0","top":"0.10914363802843075","word_num":"0","line_num":"0"},{"conf":"1","height":"0.018888888888888955","line_num":"0","par_num":"0","word_num":"0","level":"0","block_num":"0","width":"0.37354651557074653","text":"jiminny-worker-processing-4:jiminny-worker-processing-4_00: started","page_num":"0","left":"0.002906980325191139","top":"0.12777777777777777"},{"line_num":"0","height":"0.0189405674404568","page_num":"0","conf":"1","width":"0.375","text":"jiminny-worker-processing-5:jiminny-worker-processing-5_00: started","level":"0","word_num":"0","top":"0.14883720984889304","par_num":"0","left":"0.0029069824147068602","block_num":"0"},{"block_num":"0","conf":"1","page_num":"0","par_num":"0","left":"0.0029069772392815766","width":"0.440406968858507","height":"0.01912144766913526","line_num":"0","word_num":"0","top":"0.1697674416757683","text":"jiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: started","level":"0"},{"block_num":"0","height":"0.016279069052802186","par_num":"0","word_num":"0","conf":"1","top":"0.19069767489220357","level":"0","line_num":"0","left":"0.001453488550644138","page_num":"0","text":"worker:worker_00: started","width":"0.14244185553656685"},{"word_num":"0","line_num":"0","par_num":"0","block_num":"0","left":"0.0029069857494107313","conf":"1","page_num":"0","level":"0","text":"worker-analytics:worker-analytics_00:","height":"0.01860465155707458","top":"0.20930232526797432","width":"0.2078488243950738"},{"block_num":"0","text":"started","top":"0.2085059281022026","width":"0.04382612705230712","page_num":"0","conf":"1","height":"0.017871865166558143","word_num":"0","par_num":"0","line_num":"0","level":"0","left":"0.2106450752849491"},{"line_num":"0","text":"worker-audio:worker-audio_00: started","top":"0.22999999999999998","block_num":"0","par_num":"0","word_num":"0","page_num":"0","left":"0.0014534816801639039","width":"0.20930233001708984","conf":"1","level":"0","height":"0.018888888888888955"},{"line_num":"0","height":"0.018604651557074692","conf":"1","left":"0.0014534900252626394","level":"0","block_num":"0","text":"worker-calendar:worker-calendar_00:","word_num":"0","width":"0.19767441219753693","par_num":"0","top":"0.24883720879510607","page_num":"0"},{"word_num":"0","block_num":"0","level":"0","line_num":"0","page_num":"0","height":"0.017677249908447323","top":"0.24813811897768878","conf":"1","left":"0.20048360539371637","par_num":"0","text":"started","width":"0.043800232145521395"},{"conf":"1","line_num":"0","level":"0","text":"worker-conferences:worker-conferences_00: started","left":"0.0014534878046298754","height":"0.016279069052802075","block_num":"0","par_num":"0","top":"0.26976744233406413","width":"0.2761627833048503","word_num":"0","page_num":"0"},{"level":"0","top":"0.28837209251603635","conf":"1","left":"0.0014535107722476088","word_num":"0","text":"worker-crm-sync:worker-crm-sync_00: started","width":"0.24273253546820747","par_num":"0","block_num":"0","page_num":"0","line_num":"0","height":"0.018604651557074692"},{"left":"0.0029069813878415513","page_num":"0","text":"worker-crm-update:worker-crm-update_00:","block_num":"0","top":"0.30930232530673396","line_num":"0","word_num":"0","conf":"1","height":"0.018604651557074692","level":"0","par_num":"0","width":"0.21947674221462674"},{"left":"0.2238010459030743","line_num":"0","level":"0","height":"0.016765356063842773","text":"started","word_num":"0","page_num":"0","width":"0.04222349060906305","par_num":"0","top":"0.3090591821677582","block_num":"0","conf":"1"},{"left":"0.0014534882810766487","text":"worker-download:worker-download_00:","line_num":"0","height":"0.016279069052802186","top":"0.3302325586131337","word_num":"0","page_num":"0","conf":"1","width":"0.19767441219753693","par_num":"0","level":"0","block_num":"0"},{"line_num":"0","top":"0.32997591856871944","page_num":"0","text":"started","conf":"1","word_num":"0","left":"0.2020022834677442","par_num":"0","level":"0","block_num":"0","width":"0.04221636189354791","height":"0.014466767840915273"},{"level":"0","par_num":"0","height":"0.016279069052802297","text":"worker-emails:worker-emails_00:","block_num":"0","conf":"1","width":"0.17732557720608183","left":"0.0029069817942458244","line_num":"0","page_num":"0","top":"0.35116279093871516","word_num":"0"},{"line_num":"0","text":"started","left":"0.17873919187474513","conf":"1","word_num":"0","top":"0.3508364149524119","height":"0.014606239530775333","page_num":"0","block_num":"0","par_num":"0","width":"0.04368440839979382","level":"0"},{"text":"worker-es-update:worker-es-update_00:","left":"0.0014534916382623287","word_num":"0","height":"0.018604651557074692","top":"0.36976744150828433","conf":"1","level":"0","line_num":"0","block_num":"0","width":"0.2107558144463433","page_num":"0","par_num":"0"},{"block_num":"0","line_num":"0","top":"0.3689551116954404","par_num":"0","width":"0.04238467481401234","word_num":"0","left":"0.2120925458496902","level":"0","page_num":"0","conf":"1","text":"started","height":"0.01790373060438366"},{"page_num":"0","block_num":"0","level":"0","left":"0.0014534869907137113","line_num":"0","conf":"1","height":"0.016279069052802297","par_num":"0","top":"0.39069767489220353","width":"0.2194767422146267","word_num":"0","text":"worker-nudges:worker-nudges_00: started"},{"page_num":"0","left":"0.37936046587543376","line_num":"0","height":"0.016279069052802186","top":"0.06511627951429655","width":"0.04069767263200552","level":"0","word_num":"0","conf":"1","par_num":"0","text":"APP (-zsh)","block_num":"0"},{"text":"screenpipe\"","left":"0.5348742351992399","height":"0.014121440251668282","block_num":"0","line_num":"0","par_num":"0","level":"0","conf":"1","top":"0.06503230328781795","word_num":"0","page_num":"0","width":"0.04798408614264593"},{"block_num":"0","text":"O 84","width":"0.024709301524692195","word_num":"0","page_num":"0","height":"0.013953487608167836","line_num":"0","conf":"0.30000001192092896","top":"0.06511627956800914","left":"0.6250000001373675","par_num":"0","level":"0"},{"text":"What's next:","conf":"0.5","word_num":"0","page_num":"0","block_num":"0","height":"0.01895578384399399","left":"0.0028884684886510696","par_num":"0","top":"0.4277314102376155","width":"0.06835096677144369","level":"0","line_num":"0"},{"par_num":"0","level":"0","word_num":"0","block_num":"0","text":"Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1","page_num":"0","left":"0.024709311197130962","top":"0.4488372099361023","width":"0.6250000000000001","conf":"1","height":"0.0189405674404568","line_num":"0"},{"height":"0.02144702911376961","conf":"1","page_num":"0","left":"0.024709311843532984","word_num":"0","level":"0","line_num":"0","block_num":"0","text":"Learn more at https://docs.docker.com/go/debug-cli/","par_num":"0","width":"0.28488371107313365","top":"0.4674418601201178"},{"line_num":"0","left":"0.0029069925467512586","top":"0.4906976744540208","height":"0.018604651557074692","block_num":"0","page_num":"0","word_num":"0","level":"0","width":"0.20203486548529734","par_num":"0","conf":"1","text":"docker exec -it docker_lamp_1 php -v"},{"height":"0.019018088446723147","left":"0.0029069752453542426","line_num":"0","page_num":"0","level":"0","par_num":"0","width":"0.2906976699829102","top":"0.5088888885466643","conf":"1","block_num":"0","text":"PHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)","word_num":"0"},{"top":"0.53","width":"0.15116279390123155","left":"0.0029069718125347126","word_num":"0","block_num":"0","line_num":"0","height":"0.016666666666666607","level":"0","par_num":"0","text":"Copyright (c) The PHP Group","conf":"1","page_num":"0"},{"page_num":"0","height":"0.016279069052802186","text":"Zend","width":"0.026162788603040905","left":"0.0014534896616578315","block_num":"0","level":"0","word_num":"0","top":"0.5488372093883276","line_num":"0","par_num":"0","conf":"1"},{"text":"Engine v4.3.30, Copyright (c) Zend Technologies","block_num":"0","line_num":"0","par_num":"0","page_num":"0","level":"0","height":"0.0189405674404568","conf":"1","top":"0.5488372100136217","width":"0.26744185553656685","word_num":"0","left":"0.02616278765726749"},{"left":"0.024709303224405708","line_num":"0","block_num":"0","text":"with Zend OPcache v8.3.30, Copyright (C), by Zend Technologies","conf":"1","height":"0.021343667772081187","level":"0","top":"0.5697674428613755","par_num":"0","width":"0.3459302266438802","word_num":"0","page_num":"0"},{"width":"0.06984172397189671","level":"0","text":"What's next:","height":"0.019331622653537384","line_num":"0","conf":"0.30000001192092896","block_num":"0","top":"0.606613258711942","par_num":"0","left":"0.001416347156680405","word_num":"0","page_num":"0"},{"conf":"1","top":"0.63","height":"0.018888888888888844","block_num":"0","page_num":"0","word_num":"0","line_num":"0","width":"0.6235464731852213","par_num":"0","text":"Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1","left":"0.024709325178980675","level":"0"},{"word_num":"0","page_num":"0","line_num":"0","left":"0.02470930648500593","top":"0.6488372099593582","level":"0","height":"0.0189405674404568","par_num":"0","conf":"1","text":"Learn more at https://docs.docker.com/go/debug-cli/","width":"0.2848837110731337","block_num":"0"},{"width":"0.5857557932535807","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ csfix","height":"0.01912144554985895","block_num":"0","page_num":"0","par_num":"0","conf":"1","left":"0.002906984935533943","top":"0.669767442909825","word_num":"0","level":"0","line_num":"0"},{"par_num":"0","top":"0.6883720928886803","word_num":"0","line_num":"0","block_num":"0","text":"docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff","left":"0.0029069657404068748","width":"0.6569767422146268","page_num":"0","level":"0","conf":"1","height":"0.02093023300170893"},{"top":"0.7088888885685333","word_num":"0","height":"0.021343669891357386","width":"0.4738371955023871","left":"0.002906984002225046","level":"0","conf":"1","line_num":"0","page_num":"0","par_num":"0","text":"PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.","block_num":"0"},{"level":"0","word_num":"0","block_num":"0","conf":"1","left":"0.002906981949479882","text":"PHP runtime: 8.3.30","par_num":"0","height":"0.01666666666666672","top":"0.73","width":"0.10755813386705185","line_num":"0","page_num":"0"},{"line_num":"0","block_num":"0","level":"0","top":"0.7488372099361025","height":"0.0189405674404568","word_num":"0","width":"0.30087208218044703","conf":"1","par_num":"0","text":"Running analysis on 7 cores with 10 files per process.","page_num":"0","left":"0.0029069888188184125"},{"width":"0.6511628044976129","word_num":"0","conf":"1","page_num":"0","level":"0","left":"0.002906960475335257","text":"Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!","height":"0.01912144766913526","block_num":"0","par_num":"0","line_num":"0","top":"0.7697674416563884"},{"conf":"0.5","word_num":"0","line_num":"0","page_num":"0","par_num":"0","left":"0.002906977627037086","level":"0","block_num":"0","text":"Loaded","top":"0.7906976746455284","height":"0.013953487608167947","width":"0.03633720874786377"},{"height":"0.018604651557074692","left":"0.03924419281530385","top":"0.7883720927485944","line_num":"0","conf":"1","level":"0","block_num":"0","par_num":"0","text":"config default from","width":"0.11191859775119357","page_num":"0","word_num":"0"},{"text":"\".php-cs-fixer.dist.php\".","level":"0","top":"0.7883720928261139","word_num":"0","width":"0.14244185553656685","page_num":"0","conf":"1","line_num":"0","block_num":"0","height":"0.018604651557074692","par_num":"0","left":"0.15116279078791822"},{"height":"0.01669250594245064","left":"0.008720930454825998","par_num":"0","line_num":"0","level":"0","conf":"0.5","block_num":"0","page_num":"0","top":"0.8088888891476377","text":"5636/5636 [","width":"0.06831395361158583","word_num":"0"},{"conf":"0.30000001192092896","line_num":"0","page_num":"0","par_num":"0","text":"100%","top":"0.8093023253580242","word_num":"0","block_num":"0","left":"0.21947674373662981","level":"0","height":"0.01627907011244023","width":"0.04069767528110077"},{"level":"0","width":"0.017441859510209823","height":"0.011627906163533597","line_num":"0","block_num":"0","text":"-zsh","top":"0.06744186098800065","left":"0.7194767443728021","word_num":"0","conf":"0.5","page_num":"0","par_num":"0"},{"line_num":"0","level":"0","width":"0.01453488270441694","page_num":"0","block_num":"0","text":"885","word_num":"0","conf":"0.30000001192092896","left":"0.799418605207869","top":"0.06511627921917185","height":"0.013953487608167947","par_num":"0"},{"conf":"0.30000001192092896","par_num":"0","line_num":"0","top":"0.00666666666666671","left":"0.8168604675839881","height":"0.014444444444444371","text":"100% [","width":"0.053779066933525965","level":"0","word_num":"0","page_num":"0","block_num":"0"},{"word_num":"0","par_num":"0","block_num":"0","conf":"0.5","left":"0.8691860479572682","line_num":"0","text":"8 Mon 27 Apr 18:40:37","top":"0.004444444444444473","height":"0.016666666666666607","page_num":"0","width":"0.11918604109022357","level":"0"},{"line_num":"0","page_num":"0","block_num":"0","height":"0.013953487608167836","word_num":"0","par_num":"0","level":"0","text":"181","top":"0.03488372123467576","width":"0.021802324718899202","conf":"0.30000001192092896","left":"0.9723837217248527"},{"line_num":"0","block_num":"0","par_num":"0","text":"ec2-user@ip-10-30-95-134:...","width":"0.11046511332194009","conf":"1","left":"0.8372093056452314","top":"0.06744186076955949","height":"0.013953487608167836","word_num":"0","level":"0","page_num":"0"},{"par_num":"0","word_num":"0","line_num":"0","page_num":"0","conf":"0.30000001192092896","width":"0.024709301524692084","text":"• ₴6|","block_num":"0","left":"0.9534883728710178","top":"0.06511627933545094","level":"0","height":"0.013953487608167836"},{"width":"0.008720929941860467","word_num":"0","page_num":"0","block_num":"0","par_num":"0","left":"0.986918604748062","conf":"0.5","level":"0","line_num":"0","text":"+","height":"0.016279069224806153","top":"0.06511627906976747"},{"par_num":"0","top":"0.14651162685070462","width":"0.14244185553656685","left":"0.8517441891582495","level":"0","block_num":"0","word_num":"0","page_num":"0","height":"0.08372093200683595","conf":"0.5","text":"APP","line_num":"0"},{"level":"0","top":"0.8697674415691792","width":"0.3415697521633572","par_num":"0","line_num":"0","page_num":"0","block_num":"0","height":"0.021343669891357386","word_num":"0","text":"Fixed 0 of 5636 files in 79.526 seconds, 60.00 MB memory used","left":"0.0029069918994755637","conf":"1"},{"top":"0.9063272000971861","page_num":"0","height":"0.019903738233778223","left":"0.0028402254022616143","word_num":"0","level":"0","block_num":"0","conf":"0.30000001192092896","text":"What's next:","par_num":"0","width":"0.06844745741950141","line_num":"0"},{"block_num":"0","left":"0.024709325554419456","text":"Try Docker Debug for seamless, persistent debugging tools in any container or image + docker debug docker_lamp_1","conf":"1","level":"0","width":"0.6235464731852214","line_num":"0","word_num":"0","height":"0.02111111111111108","top":"0.9277777777777778","page_num":"0","par_num":"0"},{"left":"0.02470930648500593","line_num":"0","conf":"1","top":"0.9488372099593582","block_num":"0","par_num":"0","width":"0.2848837110731337","height":"0.018940567440456912","level":"0","text":"Learn more at https://docs.docker.com/go/debug-cli/","word_num":"0","page_num":"0"},{"left":"0.002873699691347811","line_num":"0","block_num":"0","level":"0","page_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ I","height":"0.024809309641520172","par_num":"0","word_num":"0","top":"0.9636122228085959","width":"0.5640362209743924","conf":"1"}]...
|
PhpStorm
|
AppleNative
|
faVsco.js – AutomatedReportsCommand.php
|
1
|
2025
|
NULL
|
NULL
|
|
89104
|
MOn Z/ Aor 10.40.40FV faVsco.js~#12011 on JY-20157 MOn Z/ Aor 10.40.40FV faVsco.js~#12011 on JY-20157-AJ-report-not-send-notificProleteyAutomatedReportsServiceTest.phpDProphetAiv D Reports© AutomatedReports(© AutomatedReportsf D Modic) Automateakeporis.c) CreatемосkaSkJim© DeleteReportCommc) GenerateMarketing© Team.php© Usage.phpSlack> Teams0 Tracksa TranscriotionD TwilioM Users)• VocabularyM Zoom© CoachingFeedbacksU; 104© Command.php© CreateDatabaseUsers. 106© DatabaseTableCount.r 107ebootobilere leditiNetoce© DetachActivityObject.phpCo kematenactvlyoncrmoojectbetach.onpC) DevPostmanCommanc 119lC Ehcryptl okenscomma 112© EngagementStatsRege 113wreaturerlaosmeloer.on 114(c) FlushRolesPermissions 116c) GeneratelnternalWebh 117€ GroupSetDefaultLanguC)ImoortRecordina.oho© ImportUsersFromCsvF 122© JiminnySetEncryptedT 126C.liminnvTokeninfoCom 121(C) MuteOraanizerChanne 131© PhpApm.php© PropagateCoachingFe 133© PurgeConferences.php 134© PurgeSoftDeletedOppr 135class AutomatedReportscommand extends Commandpublic function handle(): intif ($isFirstDay0fMonth === false) {return 0%// Process weekly reports on Mondays1+ sishondav s$this->processReportsByFrequency ( freencv: AutomatedRenortsService:: FREQUENCY WEEKLY)A// Process monthly reports on the first day of the monthif (SisFirstDay0fMonth) €$this->processReportsByFrequency( frequenev: AutomatedRenontcService.•SRSOllsNcy MONTHIV)I// Process quarterly reports on the first day of January, April, July, and Octoberif (SisFirstDay0fMonth && SisQuarterlyMonth) {$this->processReportsByFrequency( frequency: AutomatedReportsService::FREQUENCY_QUARTERLY);$this->logger->info(self::LOG_PREFIX . ' Completed');return 0private tunction disableExp1redAskJ1m1nnyReports: vo10SexoiredReports = sthis->renortRepository->getExoiredActiveAskJiminnvReportso:foreach (SexpiredReports as $report) (Sthis->loqger->info(self::L0G PREFIX ' Disablina expired Ask Jiminny report'. [Iteamiid' = Srenont->aetTeamidiol"eyniresAti => Srenont->aetsynires/t02->tolateString0r.lSthis->reportRepository->update(Sreport, ['status' => falsel);* Process all active reports for a specific frequency (scheduled path)© RateLimit.php© AutomatedReportsCommand.php xcAutomatedReportsCommand lest.onpE custom.log© DealsRepository.phpA console_6 [QAI PROD]A SF (jiminny@localhost]A console (EU)A console [STAGING] XTx: Auto v& ho_local Uiminny@localnostA console [PROD]© DatabaseActivities.phpwhere report id IN (18, 33);select * from activity searches where 1d = 109521select * from activity_search_filters where activity_search_id = 10932;567 Vselect * fromared renorts orden by 1d desc:568automated_report_results order by id desc;$69select * fromwhere cepentaid IN (55);570select * from users where id IN (7160, 3248);select * from users where group_id IN (3710);574582583594595597599- 603SELECT * FROM autonated_reports WHERE uuid_to_bin('18a06a75-afd2-476f-aadc-14d4057bdda2') = uid;SELECT * FROM automated_report_resUlts WHERE uuid_to_bin('582d4b50-8cd3-42a9-9819-d676ff8f3b43') = uwid;SELECTarr.ig,arr.report. lo,arr.uuid,arr. parent. lo,arr. nedra.typearr.stacusarr.reasonarr- дедateeяtarr.sent atarr.updatedatar.typear.uuidar. custom nameIFROM automated renortiAS report_type,As report trequency.AS report_team_id,AS report vuid.AS report custom namets ar ON ar.id = arr.report.idWHERE ar.type = 'ask_jiminnyAND DATE(arr.cceated.et) = CURDATE()AND arn renont id TNSELECT cepont.id-= on renlace with the date vou testediWHERE DATE(created.at) = CURDATE()GROUP BY repoct. idHAVING COUNT(*) >= 2ORDER BY arr.repont.id, arr.greated.at;do jiminny2L 844 X14W Windsurf Teams 113:62 UTF-8f 4 spaces...
|
[{"left":"0.9476744198760051"," [{"left":"0.9476744198760051","block_num":"0","height":"0.006968640444571461","line_num":"0","page_num":"0","par_num":"0","text":"MOn Z/ Aor 10.40.40","top":"0.006968641450188162","conf":"0.30000001192092896","level":"0","width":"0.045058133754324436","word_num":"0"},{"conf":"0.5","par_num":"0","top":"0.02439024399585743","level":"0","left":"0.030523257111464443","line_num":"0","page_num":"0","block_num":"0","width":"0.030523254516276906","text":"FV faVsco.js~","word_num":"0","height":"0.017421602252187585"},{"line_num":"0","left":"0.06831395637671925","top":"0.024390243879713447","word_num":"0","block_num":"0","height":"0.017421602252187585","conf":"1","page_num":"0","level":"0","width":"0.09883720316785446","text":"#12011 on JY-20157-AJ-report-not-send-notific","par_num":"0"},{"line_num":"0","width":"0.020348836766912577","height":"0.003484320602538671","word_num":"0","par_num":"0","top":"0.05923344944238418","left":"0.014534883869450689","level":"0","block_num":"0","conf":"0.30000001192092896","page_num":"0","text":"Proletey"},{"top":"0.05197456654385457","text":"AutomatedReportsServiceTest.php","height":"0.01814569354627693","conf":"1","par_num":"0","level":"0","width":"0.07579453448031814","page_num":"0","line_num":"0","left":"0.2745869695007165","block_num":"0","word_num":"0"},{"page_num":"0","par_num":"0","level":"0","top":"0.07317073180073552","left":"0.04360465231508205","block_num":"0","conf":"0.5","text":"DProphetAi","word_num":"0","width":"0.03197674294735524","line_num":"0","height":"0.017421602252187474"},{"top":"0.09407665591941561","block_num":"0","height":"0.010452960286604362","par_num":"0","conf":"0.30000001192092896","page_num":"0","level":"0","text":"v D Reports","width":"0.02761627765412026","line_num":"0","word_num":"0","left":"0.04069767362349643"},{"par_num":"0","text":"© AutomatedReports(","top":"0.10765550210970942","height":"0.01778003777803605","word_num":"0","width":"0.046511624721770596","line_num":"0","page_num":"0","left":"0.053779072952635544","block_num":"0","conf":"0.5","level":"0"},{"text":"© AutomatedReportsf D Modi","height":"0.010633568254193926","left":"0.052325589294075776","block_num":"0","conf":"0.5","line_num":"0","par_num":"0","width":"0.06686045768413137","page_num":"0","level":"0","top":"0.12891986087426455","word_num":"0"},{"level":"0","par_num":"0","width":"0.04651162472177058","line_num":"0","conf":"0.30000001192092896","page_num":"0","text":"c) Automateakeporis.","top":"0.14982578435435434","block_num":"0","left":"0.05232558071766947","height":"0.0072715042880847625","word_num":"0"},{"level":"0","conf":"0.30000001192092896","left":"0.05232558071766947","word_num":"0","par_num":"0","top":"0.16724738709478748","text":"c) CreatемосkaSkJim","width":"0.04651162472177058","line_num":"0","block_num":"0","height":"0.006968640444571461","page_num":"0"},{"conf":"1","page_num":"0","top":"0.17770034867229334","block_num":"0","par_num":"0","level":"0","height":"0.017674452190003742","left":"0.05232558089085675","line_num":"0","width":"0.04796511568921678","text":"© DeleteReportComm","word_num":"0"},{"block_num":"0","height":"0.0073048471453847075","word_num":"0","width":"0.04651162979450632","text":"c) GenerateMarketing","left":"0.052325580434208346","conf":"0.5","level":"0","page_num":"0","par_num":"0","line_num":"0","top":"0.20175438612361396"},{"left":"0.052325582601930196","level":"0","line_num":"0","page_num":"0","height":"0.013937282410154683","text":"© Team.php","par_num":"0","width":"0.02906976608519858","top":"0.21602787443952198","word_num":"0","block_num":"0","conf":"0.5"},{"page_num":"0","text":"© Usage.php","top":"0.23344947722863763","level":"0","par_num":"0","height":"0.013937282410154683","width":"0.03052325451627691","word_num":"0","left":"0.05232558254542595","conf":"0.5","line_num":"0","block_num":"0"},{"conf":"0.30000001192092896","level":"0","line_num":"0","left":"0.04505813946538093","page_num":"0","block_num":"0","par_num":"0","height":"0.017421602252187585","text":"Slack","top":"0.2473867595591559","width":"0.020348836766912577","word_num":"0"},{"par_num":"0","line_num":"0","word_num":"0","text":"> Teams","block_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.03924418996132706","level":"0","top":"0.271777003894373","width":"0.0276162751177524","height":"0.007329854098233168"},{"text":"0 Tracks","word_num":"0","page_num":"0","block_num":"0","top":"0.28548644338118023","height":"0.014354066985645897","line_num":"0","par_num":"0","left":"0.045058140339521005","level":"0","conf":"0.30000001192092896","width":"0.023255812360885295"},{"word_num":"0","height":"0.006968640444571461","top":"0.306620209394439","page_num":"0","block_num":"0","text":"a Transcriotion","par_num":"0","left":"0.04505813970357993","conf":"0.30000001192092896","level":"0","width":"0.034883717273144","line_num":"0"},{"page_num":"0","block_num":"0","text":"D Twilio","line_num":"0","height":"0.013937282410154683","top":"0.32055749108295983","left":"0.04651162846731888","width":"0.020348836766912584","word_num":"0","level":"0","conf":"0.30000001192092896","par_num":"0"},{"page_num":"0","par_num":"0","block_num":"0","left":"0.04360465307870106","top":"0.34130781499202545","width":"0.021802323929806973","conf":"0.30000001192092896","word_num":"0","height":"0.0071770334928230595","level":"0","line_num":"0","text":"M Users)"},{"word_num":"0","height":"0.013937282410154683","block_num":"0","line_num":"0","top":"0.35540069665787266","left":"0.04651162920437966","page_num":"0","width":"0.030523254516276903","conf":"1","level":"0","par_num":"0","text":"• Vocabulary"},{"height":"0.0072659472719524","left":"0.043604653035519296","line_num":"0","text":"M Zoom","block_num":"0","conf":"0.30000001192092896","width":"0.020348835498728644","par_num":"0","top":"0.3763066205343165","level":"0","word_num":"0","page_num":"0"},{"block_num":"0","word_num":"0","page_num":"0","height":"0.014354066985645897","level":"0","left":"0.04651163032589352","top":"0.38995215311004783","conf":"1","line_num":"0","text":"© CoachingFeedbacksU; 104","width":"0.06395348589471046","par_num":"0"},{"left":"0.046511627889168086","conf":"1","line_num":"0","word_num":"0","page_num":"0","height":"0.010700253208288268","par_num":"0","text":"© Command.php","block_num":"0","top":"0.41114982650868215","level":"0","width":"0.03633720570422233"},{"height":"0.01754385964912275","left":"0.046511628899692445","width":"0.0625","page_num":"0","word_num":"0","top":"0.42503987240829344","line_num":"0","level":"0","par_num":"0","block_num":"0","conf":"1","text":"© CreateDatabaseUsers. 106"},{"text":"© DatabaseTableCount.r 107","par_num":"0","block_num":"0","height":"0.013937282410154794","left":"0.046511628899692445","level":"0","page_num":"0","top":"0.44250871059515484","conf":"0.5","width":"0.0625","word_num":"0","line_num":"0"},{"block_num":"0","text":"ebootobilere leditiNetoce","height":"0.003987240829346206","page_num":"0","left":"0.04651162643340147","conf":"0.30000001192092896","level":"0","par_num":"0","top":"0.46650717703349276","width":"0.06104651410528954","word_num":"0","line_num":"0"},{"height":"0.01754385964912286","page_num":"0","level":"0","text":"© DetachActivityObject.php","left":"0.10319767524515083","top":"0.07655502392344493","par_num":"0","word_num":"0","line_num":"0","block_num":"0","conf":"1","width":"0.05668604627568671"},{"left":"0.2311046517889168","level":"0","page_num":"0","height":"0.007285397208668609","block_num":"0","line_num":"0","text":"Co kematenactvlyoncrmoojectbetach.onp","top":"0.08362369371432266","width":"0.08575580475178171","par_num":"0","word_num":"0","conf":"0.30000001192092896"},{"left":"0.04651163392347469","par_num":"0","page_num":"0","text":"C) DevPostmanCommanc 119l","height":"0.007324297082100917","level":"0","top":"0.49825784007433505","width":"0.062499994927264275","word_num":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0"},{"height":"0.007274283176403884","left":"0.046511631551186","conf":"0.30000001192092896","text":"C Ehcryptl okenscomma 112","page_num":"0","top":"0.5365853660742468","block_num":"0","line_num":"0","par_num":"0","width":"0.06249998985452855","word_num":"0","level":"0"},{"left":"0.046511637793004615","text":"© EngagementStatsRege 113","page_num":"0","width":"0.06249998985452855","height":"0.010736374953907224","word_num":"0","conf":"0.5","block_num":"0","level":"0","line_num":"0","top":"0.5502392342775435","par_num":"0"},{"left":"0.04651162779022732","level":"0","block_num":"0","conf":"0.5","page_num":"0","par_num":"0","width":"0.062499994927264275","word_num":"0","height":"0.006968640444571572","text":"wreaturerlaosmeloer.on 114","top":"0.5714285717637769","line_num":"0"},{"block_num":"0","left":"0.04651163155145589","text":"(c) FlushRolesPermissions 116","height":"0.0071798116206361895","par_num":"0","top":"0.6060606061050023","word_num":"0","width":"0.06249998985452855","conf":"0.5","level":"0","line_num":"0","page_num":"0"},{"height":"0.0071770334928230595","top":"0.6236044657097288","par_num":"0","text":"c) GeneratelnternalWebh 117","line_num":"0","level":"0","width":"0.06249998985452856","left":"0.046511631551455775","word_num":"0","page_num":"0","block_num":"0","conf":"0.5"},{"word_num":"0","text":"€ GroupSetDefaultLangu","level":"0","page_num":"0","top":"0.6376306626886444","width":"0.05232557844608388","height":"0.010694696192155795","left":"0.04651163199788804","line_num":"0","conf":"0.5","block_num":"0","par_num":"0"},{"text":"C)ImoortRecordina.oho","block_num":"0","left":"0.04651162696966455","width":"0.049418601583927226","par_num":"0","height":"0.006968640444571572","top":"0.7108013940634285","page_num":"0","word_num":"0","level":"0","line_num":"0","conf":"0.5"},{"block_num":"0","height":"0.017782815145343522","conf":"1","level":"0","width":"0.0625","word_num":"0","text":"© ImportUsersFromCsvF 122","page_num":"0","line_num":"0","par_num":"0","left":"0.046511628899692445","top":"0.7208931422620036"},{"height":"0.014354066985645897","line_num":"0","top":"0.7942583732057417","width":"0.0625","word_num":"0","text":"© JiminnySetEncryptedT 126","page_num":"0","conf":"1","block_num":"0","left":"0.04651162877806622","level":"0","par_num":"0"},{"conf":"0.30000001192092896","par_num":"0","level":"0","page_num":"0","top":"0.8149920255179948","width":"0.06104650903255382","left":"0.04651163016870112","text":"C.liminnvTokeninfoCom 121","height":"0.00730762603370394","word_num":"0","block_num":"0","line_num":"0"},{"height":"0.007327075970420038","top":"0.8850174217942274","word_num":"0","block_num":"0","left":"0.04651163548658751","par_num":"0","text":"(C) MuteOraanizerChanne 131","width":"0.06104650395981808","page_num":"0","line_num":"0","conf":"0.5","level":"0"},{"width":"0.034883719809511875","word_num":"0","par_num":"0","left":"0.04651162904873241","text":"© PhpApm.php","block_num":"0","top":"0.8987240829346093","page_num":"0","line_num":"0","level":"0","conf":"1","height":"0.014354066985645897"},{"par_num":"0","top":"0.916267942583732","height":"0.014354066985646008","block_num":"0","text":"© PropagateCoachingFe 133","conf":"1","width":"0.0625","word_num":"0","line_num":"0","level":"0","page_num":"0","left":"0.04651162877806531"},{"conf":"0.5","left":"0.04651163032589352","word_num":"0","text":"© PurgeConferences.php 134","line_num":"0","height":"0.01755775256970671","page_num":"0","top":"0.9337979094180402","width":"0.06395348589471046","block_num":"0","level":"0","par_num":"0"},{"par_num":"0","block_num":"0","top":"0.9512195119378624","height":"0.017680009966641874","level":"0","page_num":"0","text":"© PurgeSoftDeletedOppr 135","line_num":"0","conf":"0.5","width":"0.06395348589471046","word_num":"0","left":"0.04651163032589352"},{"block_num":"0","conf":"1","level":"0","page_num":"0","height":"0.0071770334928229484","text":"class AutomatedReportscommand extends Command","par_num":"0","top":"0.15311004784688997","left":"0.12063953529483151","line_num":"0","width":"0.11918603613021525","word_num":"0"},{"page_num":"0","par_num":"0","line_num":"0","block_num":"0","text":"public function handle(): int","top":"0.16347687417875345","width":"0.07848837020549368","level":"0","word_num":"0","conf":"1","height":"0.017707794286797918","left":"0.13081395532772241"},{"page_num":"0","top":"0.19512195095982732","line_num":"0","word_num":"0","conf":"1","text":"if ($isFirstDay0fMonth === false) {","width":"0.09302325958901264","level":"0","height":"0.01779670958693902","block_num":"0","left":"0.15261627766992375","par_num":"0"},{"par_num":"0","word_num":"0","height":"0.007182590508955311","level":"0","text":"return 0%","block_num":"0","top":"0.21929824549679078","left":"0.1627906997594104","conf":"0.30000001192092896","line_num":"0","width":"0.024709300791963623","page_num":"0"},{"par_num":"0","text":"// Process weekly reports on Mondays","page_num":"0","width":"0.09593023137843357","height":"0.01764944523715517","line_num":"0","level":"0","left":"0.14244186164361244","block_num":"0","top":"0.28548644309059557","conf":"0.5","word_num":"0"},{"left":"0.14244186403685752","conf":"0.30000001192092896","text":"1+ sishondav s","top":"0.306620209394439","block_num":"0","level":"0","width":"0.04360464785961393","height":"0.006968640444571461","line_num":"0","word_num":"0","par_num":"0","page_num":"0"},{"block_num":"0","par_num":"0","width":"0.09447674041098739","level":"0","word_num":"0","left":"0.15261628211304706","top":"0.32055749118838284","line_num":"0","height":"0.013937282410154683","conf":"1","text":"$this->processReportsByFrequency ( fre","page_num":"0"},{"top":"0.32376395548014436","line_num":"0","par_num":"0","width":"0.12354650903255382","height":"0.0072464973352361906","word_num":"0","level":"0","block_num":"0","page_num":"0","left":"0.2514534908910457","text":"encv: AutomatedRenortsService:: FREQUENCY WEEKLY)A","conf":"0.5"},{"level":"0","top":"0.37282230020956253","height":"0.017421602252187474","block_num":"0","word_num":"0","line_num":"0","width":"0.146802323929807","text":"// Process monthly reports on the first day of the month","left":"0.14244185929501615","page_num":"0","conf":"1","par_num":"0"},{"level":"0","height":"0.017546638537441872","par_num":"0","text":"if (SisFirstDay0fMonth) €","top":"0.38675958183603654","width":"0.06831395372431331","word_num":"0","left":"0.142441861055744","page_num":"0","line_num":"0","block_num":"0","conf":"1"},{"word_num":"0","level":"0","width":"0.10029069413530065","top":"0.4074960127591707","conf":"1","left":"0.15261628256864432","line_num":"0","text":"$this->processReportsByFrequency( freque","block_num":"0","height":"0.014354066985645897","page_num":"0","par_num":"0"},{"page_num":"0","conf":"0.30000001192092896","par_num":"0","text":"nev: AutomatedRenontcService.•SRSOllsNcy MONTHIV)I","line_num":"0","width":"0.1220930282105791","block_num":"0","height":"0.006968641205077342","level":"0","top":"0.4111498257344577","left":"0.25436046199988616","word_num":"0"},{"height":"0.017741137904603743","left":"0.1424418665995874","level":"0","conf":"0.5","width":"0.21511627765412028","line_num":"0","page_num":"0","top":"0.45993031357802616","par_num":"0","word_num":"0","text":"// Process quarterly reports on the first day of January, April, July, and October","block_num":"0"},{"block_num":"0","conf":"1","height":"0.013937282410154683","page_num":"0","width":"0.12209301806510761","left":"0.14244186468256495","line_num":"0","par_num":"0","word_num":"0","level":"0","text":"if (SisFirstDay0fMonth && SisQuarterlyMonth) {","top":"0.4773519161700678"},{"par_num":"0","top":"0.49441786289213707","line_num":"0","page_num":"0","block_num":"0","left":"0.15116279379903172","conf":"1","height":"0.01777725888971693","text":"$this->processReportsByFrequency( frequency: AutomatedReportsService::FREQUENCY_QUARTERLY);","width":"0.23255812868158868","level":"0","word_num":"0"},{"block_num":"0","word_num":"0","top":"0.5470383276836297","left":"0.1424418649471622","conf":"0.5","text":"$this->logger->info(self::LOG_PREFIX . ' Completed');","width":"0.13953487923804753","line_num":"0","page_num":"0","par_num":"0","level":"0","height":"0.017554973681387476"},{"page_num":"0","line_num":"0","conf":"0.5","block_num":"0","height":"0.007302069017571466","left":"0.1424418614747109","width":"0.02325581236088531","text":"return 0","word_num":"0","top":"0.5885167463624611","level":"0","par_num":"0"},{"height":"0.007332632986552401","page_num":"0","line_num":"0","block_num":"0","par_num":"0","word_num":"0","level":"0","width":"0.14534883296236079","text":"private tunction disableExp1redAskJ1m1nnyReports: vo10","conf":"0.5","top":"0.6585365854435338","left":"0.1322674460189287"},{"par_num":"0","text":"SexoiredReports = sthis->renortRepository->getExoiredActiveAskJiminnvReportso:","line_num":"0","block_num":"0","word_num":"0","top":"0.6929824561761238","height":"0.007365975843852457","width":"0.20639535214038607","left":"0.14244185909661494","conf":"0.5","level":"0","page_num":"0"},{"line_num":"0","text":"foreach (SexpiredReports as $report) (","conf":"0.5","block_num":"0","height":"0.017782815145343522","left":"0.14244186255909203","par_num":"0","width":"0.10174418510274685","word_num":"0","level":"0","page_num":"0","top":"0.7208931422620036"},{"conf":"0.5","par_num":"0","top":"0.7421602785999031","width":"0.21075581489725315","line_num":"0","page_num":"0","block_num":"0","height":"0.010630790126380685","left":"0.15261628109563158","level":"0","word_num":"0","text":"Sthis->loqger->info(self::L0G PREFIX ' Disablina expired Ask Jiminny report'. ["},{"conf":"0.30000001192092896","block_num":"0","height":"0.006968640444571572","level":"0","word_num":"0","left":"0.1642441939130926","line_num":"0","text":"Iteamiid' = Srenont->aetTeamidiol","top":"0.7804878052132543","par_num":"0","width":"0.08430231885707126","page_num":"0"},{"par_num":"0","text":"\"eyniresAti => Srenont->aetsynires/t02->tolateString0r.l","conf":"0.30000001192092896","top":"0.7979094080007108","word_num":"0","left":"0.1642442004389246","line_num":"0","width":"0.14534882281688935","block_num":"0","level":"0","height":"0.006968640444571572","page_num":"0"},{"width":"0.1613372031678545","line_num":"0","page_num":"0","word_num":"0","text":"Sthis->reportRepository->update(Sreport, ['status' => falsel);","top":"0.8500797449888496","block_num":"0","left":"0.15261628714052","conf":"1","level":"0","height":"0.010547431842372057","par_num":"0"},{"page_num":"0","text":"* Process all active reports for a specific frequency (scheduled path)","top":"0.9337979094180402","width":"0.1831395372431329","word_num":"0","block_num":"0","level":"0","left":"0.13372093176683805","conf":"1","height":"0.01755775256970671","line_num":"0","par_num":"0"},{"top":"0.05574912943857935","height":"0.010452960286604362","width":"0.0334302288420657","word_num":"0","text":"© RateLimit.php","level":"0","line_num":"0","conf":"1","page_num":"0","left":"0.5247093060416097","par_num":"0","block_num":"0"},{"word_num":"0","height":"0.018921838422711446","page_num":"0","level":"0","line_num":"0","conf":"1","text":"© AutomatedReportsCommand.php x","top":"0.07594450725092394","block_num":"0","left":"0.3952490338020546","par_num":"0","width":"0.07723373301485753"},{"left":"0.4752301570963459","conf":"0.30000001192092896","height":"0.011394719758102134","level":"0","line_num":"0","text":"cAutomatedReportsCommand lest.onp","word_num":"0","width":"0.07857981133968278","par_num":"0","top":"0.07963145836700858","block_num":"0","page_num":"0"},{"text":"E custom.log","word_num":"0","left":"0.5811397341353802","height":"0.019235980567749555","level":"0","top":"0.05125549325852807","width":"0.031039496685596246","block_num":"0","par_num":"0","page_num":"0","conf":"0.5","line_num":"0"},{"block_num":"0","top":"0.07655502392344493","line_num":"0","level":"0","conf":"1","height":"0.01754385964912286","left":"0.5813953483327172","page_num":"0","text":"© DealsRepository.php","par_num":"0","width":"0.0479651156892168","word_num":"0"},{"top":"0.0522648088042198","level":"0","conf":"0.5","block_num":"0","line_num":"0","page_num":"0","par_num":"0","width":"0.05087209255137337","left":"0.6526162790181326","word_num":"0","height":"0.017421602252187585","text":"A console_6 [QAI PROD]"},{"height":"0.017421602252187585","word_num":"0","top":"0.05226480845578774","conf":"0.5","level":"0","left":"0.7107558169027517","page_num":"0","par_num":"0","text":"A SF (jiminny@localhost]","block_num":"0","width":"0.052325578446083876","line_num":"0"},{"text":"A console (EU)","block_num":"0","height":"0.01754385964912286","width":"0.033430231378433595","level":"0","par_num":"0","conf":"0.5","left":"0.636627908132288","top":"0.07655502392344493","page_num":"0","word_num":"0","line_num":"0"},{"width":"0.05087209255137337","conf":"0.5","top":"0.07655502392344493","page_num":"0","par_num":"0","text":"A console [STAGING] X","block_num":"0","height":"0.01754385964912286","left":"0.675872092234373","level":"0","word_num":"0","line_num":"0"},{"text":"Tx: Auto v","page_num":"0","left":"0.6424418623157664","width":"0.02034883549872868","top":"0.1044657097288676","conf":"0.30000001192092896","block_num":"0","height":"0.0071770334928229484","line_num":"0","level":"0","par_num":"0","word_num":"0"},{"height":"0.007190925652900915","level":"0","top":"0.059011164432661856","par_num":"0","width":"0.06249999492726421","block_num":"0","conf":"0.30000001192092896","page_num":"0","text":"& ho_local Uiminny@localnost","word_num":"0","left":"0.7688953486304843","line_num":"0"},{"par_num":"0","level":"0","width":"0.037790696671668456","left":"0.8401162801662451","page_num":"0","text":"A console [PROD]","top":"0.05226480845578774","word_num":"0","line_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.017421602252187585"},{"block_num":"0","text":"© DatabaseActivities.php","left":"0.8849929109695145","word_num":"0","width":"0.05269426995135362","line_num":"0","height":"0.018726983138819042","conf":"1","level":"0","page_num":"0","par_num":"0","top":"0.05139456079391225"},{"par_num":"0","level":"0","text":"where report id IN (18, 33);","word_num":"0","left":"0.7034883698595443","top":"0.12195121940869913","block_num":"0","conf":"0.5","line_num":"0","height":"0.013937282410154683","page_num":"0","width":"0.07558139841607281"},{"block_num":"0","text":"select * from activity searches where 1d = 109521","word_num":"0","conf":"1","line_num":"0","level":"0","left":"0.6017441842085983","height":"0.007185369397274433","par_num":"0","top":"0.16027874553993038","width":"0.12645349096744618","page_num":"0"},{"height":"0.014354066985645897","conf":"1","level":"0","top":"0.1738437001594897","page_num":"0","width":"0.18895348082197483","line_num":"0","text":"select * from activity_search_filters where activity_search_id = 10932;","word_num":"0","par_num":"0","left":"0.6002907052097907","block_num":"0"},{"par_num":"0","width":"0.014534883042599311","word_num":"0","left":"0.5799418607500403","text":"567 V","block_num":"0","height":"0.006968641205077342","top":"0.1951219511396216","conf":"0.30000001192092896","level":"0","line_num":"0","page_num":"0"},{"height":"0.014354066985645897","conf":"1","line_num":"0","top":"0.19138755980861244","word_num":"0","width":"0.03488371980951188","par_num":"0","block_num":"0","level":"0","text":"select * from","page_num":"0","left":"0.601744187349447"},{"par_num":"0","line_num":"0","text":"ared renorts orden by 1d desc:","top":"0.1951219515547178","width":"0.07703487923804753","left":"0.6511627961643285","block_num":"0","conf":"0.5","level":"0","page_num":"0","height":"0.006968640444571461","word_num":"0"},{"block_num":"0","height":"0.017421602252187585","conf":"1","level":"0","top":"0.20557491302895847","width":"0.01017441838345634","left":"0.5799418607028939","line_num":"0","word_num":"0","page_num":"0","par_num":"0","text":"568"},{"top":"0.2089314198368879","word_num":"0","page_num":"0","width":"0.11191860158392719","par_num":"0","conf":"1","left":"0.6380813964079077","line_num":"0","text":"automated_report_results order by id desc;","height":"0.017549415904749233","block_num":"0","level":"0"},{"height":"0.006968641205077342","level":"0","page_num":"0","width":"0.008720929952377943","line_num":"0","text":"$69","left":"0.5799418605325319","block_num":"0","par_num":"0","conf":"0.30000001192092896","word_num":"0","top":"0.22996515669130568"},{"conf":"0.5","par_num":"0","text":"select * from","page_num":"0","left":"0.600290698931798","block_num":"0","height":"0.013942838665781276","line_num":"0","top":"0.22647527927977185","width":"0.03633720824059017","word_num":"0","level":"0"},{"left":"0.7034883769924725","height":"0.01754385964912286","level":"0","conf":"0.5","page_num":"0","line_num":"0","block_num":"0","par_num":"0","text":"where cepentaid IN (55);","width":"0.0654069717894209","top":"0.22647527910685805","word_num":"0"},{"par_num":"0","block_num":"0","width":"0.01017441838345623","level":"0","top":"0.24390243911780862","conf":"1","left":"0.5799418607452874","height":"0.017421602252187585","page_num":"0","text":"570","word_num":"0","line_num":"0"},{"block_num":"0","height":"0.021531100478468956","page_num":"0","line_num":"0","par_num":"0","left":"0.6002907064217562","text":"select * from users where id IN (7160, 3248);","width":"0.11918603613021528","word_num":"0","conf":"1","top":"0.2400318979266347","level":"0"},{"word_num":"0","conf":"0.5","left":"0.6002906933483116","par_num":"0","width":"0.12063953724313292","line_num":"0","block_num":"0","level":"0","page_num":"0","height":"0.017782815145343522","text":"select * from users where group_id IN (3710);","top":"0.26132404259265285"},{"top":"0.3135888502676345","text":"574","width":"0.01017441838345623","conf":"1","height":"0.017421602252187474","block_num":"0","word_num":"0","line_num":"0","page_num":"0","level":"0","par_num":"0","left":"0.5799418607452874"},{"top":"0.45296167256728603","width":"0.01017441838345623","text":"582","page_num":"0","word_num":"0","height":"0.017421602252187585","line_num":"0","conf":"1","block_num":"0","left":"0.5799418607452874","level":"0","par_num":"0"},{"text":"583","level":"0","conf":"1","line_num":"0","left":"0.5799418607452874","par_num":"0","top":"0.47038327535474245","height":"0.017421602252187585","width":"0.01017441838345623","word_num":"0","block_num":"0","page_num":"0"},{"left":"0.5799418605325319","word_num":"0","page_num":"0","text":"594","conf":"0.30000001192092896","width":"0.008720929952377943","line_num":"0","top":"0.6689895469352082","par_num":"0","block_num":"0","height":"0.006968641205077342","level":"0"},{"conf":"1","height":"0.017421602252187474","line_num":"0","text":"595","word_num":"0","width":"0.01017441838345623","par_num":"0","top":"0.6794425089203638","level":"0","page_num":"0","left":"0.5799418607452874","block_num":"0"},{"height":"0.017421602252187585","word_num":"0","line_num":"0","text":"597","conf":"1","block_num":"0","page_num":"0","top":"0.7142857142629887","left":"0.5799418605030393","level":"0","par_num":"0","width":"0.01017441838345623"},{"page_num":"0","word_num":"0","height":"0.017421602252187474","par_num":"0","left":"0.5799418605470668","level":"0","conf":"1","width":"0.008720929952377943","line_num":"0","text":"599","top":"0.7491289199540456","block_num":"0"},{"width":"0.0159883714736776","left":"0.574127907384224","word_num":"0","block_num":"0","line_num":"0","level":"0","par_num":"0","conf":"0.30000001192092896","height":"0.035096054442191216","top":"0.8046251992891934","page_num":"0","text":"- 603"},{"block_num":"0","page_num":"0","left":"0.6002907020658801","conf":"0.5","level":"0","top":"0.29585326953748003","word_num":"0","height":"0.021531100478468845","par_num":"0","text":"SELECT * FROM autonated_reports WHERE uuid_to_bin('18a06a75-afd2-476f-aadc-14d4057bdda2') = uid;","line_num":"0","width":"0.2543604627568671"},{"level":"0","top":"0.3133971291866029","line_num":"0","text":"SELECT * FROM automated_report_res","par_num":"0","word_num":"0","block_num":"0","height":"0.014354066985645897","width":"0.09011627765412022","page_num":"0","conf":"1","left":"0.6002907003989982"},{"top":"0.31339712947633447","page_num":"0","block_num":"0","level":"0","width":"0.18313953724313292","word_num":"0","line_num":"0","text":"Ults WHERE uuid_to_bin('582d4b50-8cd3-42a9-9819-d676ff8f3b43') = uwid;","height":"0.017613322731030334","par_num":"0","left":"0.6904069782082094","conf":"0.5"},{"top":"0.3484320556054292","page_num":"0","height":"0.013937282410154683","par_num":"0","level":"0","block_num":"0","conf":"0.5","width":"0.02034883676691257","word_num":"0","left":"0.6002906978285294","line_num":"0","text":"SELECT"},{"level":"0","par_num":"0","line_num":"0","height":"0.017421602252187585","conf":"0.5","left":"0.610465116839412","page_num":"0","top":"0.36585365863000385","text":"arr.ig,","width":"0.02034883676691257","word_num":"0","block_num":"0"},{"top":"0.38995215302990127","page_num":"0","par_num":"0","text":"arr.report. lo,","word_num":"0","height":"0.007260390255820148","level":"0","left":"0.6104651159094637","conf":"0.30000001192092896","width":"0.03924418256637896","block_num":"0","line_num":"0"},{"par_num":"0","top":"0.4006968640887727","page_num":"0","word_num":"0","text":"arr.uuid,","line_num":"0","level":"0","height":"0.017421602252187474","conf":"0.5","left":"0.6104651172101845","width":"0.026162789223041938","block_num":"0"},{"height":"0.0071770334928230595","conf":"0.30000001192092896","width":"0.03779069413530067","par_num":"0","level":"0","left":"0.6104651160138136","page_num":"0","text":"arr. parent. lo,","word_num":"0","top":"0.42503987240829344","block_num":"0","line_num":"0"},{"line_num":"0","height":"0.007252054351368553","text":"arr. nedra.type","level":"0","left":"0.6104651201209613","page_num":"0","word_num":"0","conf":"0.30000001192092896","top":"0.4425087111743482","width":"0.03924418256637896","par_num":"0","block_num":"0"},{"word_num":"0","text":"arr.stacus","left":"0.6104651196790729","block_num":"0","par_num":"0","top":"0.4599303139240558","width":"0.02906976354883073","conf":"0.30000001192092896","line_num":"0","height":"0.006968640444571461","page_num":"0","level":"0"},{"conf":"0.30000001192092896","par_num":"0","line_num":"0","word_num":"0","top":"0.4773519167115121","text":"arr.reason","height":"0.006968640444571572","width":"0.02906976354883073","block_num":"0","left":"0.6104651196790729","page_num":"0","level":"0"},{"height":"0.03508771929824561","word_num":"0","conf":"0.30000001192092896","level":"0","width":"0.0494186015839273","line_num":"0","text":"arr- дедateeяt","block_num":"0","top":"0.49122807017543857","left":"0.6090116309695158","par_num":"0","page_num":"0"},{"conf":"0.30000001192092896","par_num":"0","left":"0.6104651197533877","block_num":"0","level":"0","line_num":"0","page_num":"0","height":"0.0071770334928230595","text":"arr.sent at","width":"0.031976740410987414","top":"0.529505582137161","word_num":"0"},{"line_num":"0","par_num":"0","height":"0.006968640444571572","block_num":"0","page_num":"0","text":"arr.updatedat","word_num":"0","left":"0.6119186083102565","conf":"0.5","top":"0.5644599306487944","width":"0.03779069413530067","level":"0"},{"width":"0.02034883676691257","conf":"1","par_num":"0","word_num":"0","text":"ar.type","height":"0.013937282410154683","left":"0.6104651164275903","line_num":"0","page_num":"0","block_num":"0","top":"0.5783972124036832","level":"0"},{"block_num":"0","height":"0.006968640444571572","conf":"0.5","level":"0","line_num":"0","text":"ar.uuid","top":"0.6341463417986202","width":"0.02034883549872868","par_num":"0","word_num":"0","left":"0.6104651181517984","page_num":"0"},{"height":"0.017785594033662533","left":"0.6104651177192391","level":"0","conf":"0.30000001192092896","page_num":"0","par_num":"0","block_num":"0","text":"ar. custom name","width":"0.039244185102746854","line_num":"0","word_num":"0","top":"0.6480836241383293"},{"top":"0.6689895473543103","text":"IFROM automated renorti","line_num":"0","conf":"0.30000001192092896","height":"0.007246497335236302","par_num":"0","word_num":"0","page_num":"0","block_num":"0","left":"0.6002907054512459","width":"0.05813952709766146","level":"0"},{"page_num":"0","conf":"1","height":"0.017591094666500773","left":"0.6584302336962223","level":"0","block_num":"0","top":"0.5749128923963397","line_num":"0","word_num":"0","text":"AS report_type,","par_num":"0","width":"0.039244185102746854"},{"par_num":"0","text":"As report trequency.","left":"0.6569767520885677","width":"0.055232550235504774","height":"0.006968640444571461","word_num":"0","line_num":"0","page_num":"0","block_num":"0","level":"0","top":"0.5993031362237073","conf":"0.5"},{"width":"0.0494186015839273","conf":"1","block_num":"0","line_num":"0","par_num":"0","page_num":"0","top":"0.6097560977705381","word_num":"0","level":"0","height":"0.017421602252187474","left":"0.6569767472532433","text":"AS report_team_id,"},{"left":"0.6584302362486444","height":"0.0071770334928229484","par_num":"0","top":"0.6339712918660287","word_num":"0","block_num":"0","level":"0","line_num":"0","width":"0.03924418256637896","text":"AS report vuid.","page_num":"0","conf":"0.5"},{"conf":"1","block_num":"0","height":"0.0071770334928229484","page_num":"0","par_num":"0","level":"0","text":"AS report custom name","width":"0.053779069413530056","word_num":"0","left":"0.6584302326990598","top":"0.6515151515151515","line_num":"0"},{"height":"0.01754385964912286","block_num":"0","left":"0.652616281220541","level":"0","page_num":"0","top":"0.6794258373205742","width":"0.08139534706765039","conf":"0.30000001192092896","par_num":"0","text":"ts ar ON ar.id = arr.report.id","word_num":"0","line_num":"0"},{"word_num":"0","width":"0.07412790744862652","par_num":"0","left":"0.6017441867410289","block_num":"0","page_num":"0","conf":"0.5","level":"0","line_num":"0","text":"WHERE ar.type = 'ask_jiminny","height":"0.014354066985645897","top":"0.7001594896331739"},{"width":"0.0959302313784336","height":"0.0209614952975673","block_num":"0","line_num":"0","text":"AND DATE(arr.cceated.et) = CURDATE()","page_num":"0","left":"0.606104652760932","par_num":"0","word_num":"0","top":"0.7142857140033373","level":"0","conf":"0.5"},{"text":"AND arn renont id TN","par_num":"0","height":"0.007207597461803883","page_num":"0","left":"0.6061046517916612","block_num":"0","top":"0.7384370017096159","word_num":"0","conf":"0.30000001192092896","level":"0","line_num":"0","width":"0.059593023137843315"},{"level":"0","page_num":"0","width":"0.04360464785961404","word_num":"0","left":"0.616279072594202","par_num":"0","height":"0.017721687207381653","block_num":"0","line_num":"0","conf":"0.30000001192092896","text":"SELECT cepont.id","top":"0.7526132409379709"},{"block_num":"0","word_num":"0","line_num":"0","left":"0.7238372229512513","par_num":"0","text":"-= on renlace with the date vou testedi","conf":"0.5","level":"0","top":"0.7208931420073937","page_num":"0","height":"0.00732985409823339","width":"0.10029068398982921"},{"height":"0.01779670958693902","conf":"0.5","top":"0.7870813394532338","word_num":"0","line_num":"0","text":"WHERE DATE(created.at) = CURDATE()","par_num":"0","left":"0.6162790687179761","level":"0","block_num":"0","width":"0.09156976862156652","page_num":"0"},{"line_num":"0","par_num":"0","height":"0.017674452190003742","word_num":"0","block_num":"0","top":"0.804625199137703","text":"GROUP BY repoct. id","width":"0.05087209255137337","level":"0","conf":"0.30000001192092896","left":"0.6162790710943734","page_num":"0"},{"height":"0.020905922094220375","top":"0.8188153314616006","level":"0","block_num":"0","line_num":"0","text":"HAVING COUNT(*) >= 2","width":"0.05668604627568674","left":"0.6162790706193578","conf":"0.30000001192092896","page_num":"0","par_num":"0","word_num":"0"},{"left":"0.6002907035728529","word_num":"0","height":"0.017657780381100774","block_num":"0","conf":"1","line_num":"0","level":"0","par_num":"0","text":"ORDER BY arr.repont.id, arr.greated.at;","width":"0.10465115689216786","top":"0.8571428574182165","page_num":"0"},{"left":"0.9607558154236934","page_num":"0","text":"do jiminny","block_num":"0","conf":"0.30000001192092896","height":"0.01777448000139792","line_num":"0","level":"0","par_num":"0","top":"0.10104529649825356","width":"0.026162789223041938","word_num":"0"},{"level":"0","block_num":"0","line_num":"0","top":"0.12891986096238317","width":"0.04069767099745725","page_num":"0","height":"0.006968640444571572","conf":"0.30000001192092896","text":"2L 844 X14","left":"0.9374999996756902","par_num":"0","word_num":"0"},{"line_num":"0","text":"W Windsurf Teams 113:62 UTF-8","top":"0.9860627183215172","level":"0","width":"0.07412790237589084","page_num":"0","left":"0.8909883731612604","conf":"1","block_num":"0","word_num":"0","height":"0.01074748898617195","par_num":"0"},{"height":"0.014354066985646008","line_num":"0","par_num":"0","block_num":"0","left":"0.9694767456496352","conf":"0.30000001192092896","level":"0","page_num":"0","text":"f 4 spaces","width":"0.026162789223041938","word_num":"0","top":"0.9824561403508771"}]...
|
iTerm2
|
AppleNative
|
APP (-zsh)
|
1
|
3611
|
NULL
|
NULL
|
|
89125
|
Q4A 10%4 8 Mon27 Apr 18:41:30*8 22ActivityFilesLa Q4A 10%4 8 Mon27 Apr 18:41:30*8 22ActivityFilesLaterMoreSlackVIewHistoryJiminny... v@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# general# infra-changes# jiminny-bgac olatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...A Direct messagesP Galya DimitrovaR. Aneliya Angelova€. Vasil Vasilev3 Aneliya Angelova, ...R. Nikolay YankovC. Nikolay IvanovR. Nikolay Nikolovff. Stefka StoyanovaR. Adelina PetrovaR?. Stoyan Tomov( Petko Kashinski8. Mario GeorgievSs: Todor Stamatov.P. Gabriela Dureva#:: AnndS Jira Cloud® ToastWindowHelpQ Describe what you are looking f# releases• Messagesr Files• BookmarksWhen: 04/2// ZUzo 11:35:50View JobGitHub APP 2:42 PM1/ new commits pushed to master by lodorstamatov)iminnve42c672c - JY-20478: implement stop sync calendar events on revoked grants8cf15566 -JY-204/8: nx unit tests6425ebb4| - JY-204/8: add migration for calendars.status to allow 20 chars65088554 - JY-204/8: nx warning messages, uodate calendar/emalls status on successjiminny/app Added by GitHubCircleCI APP 3:05 PMDeployment Successful!Project: appla?When: 04/27/2026 12:05:14View JobGitHub APP 3:16 PM20 new commits pushed to master by mihailmihaylovjiminnyЗас71c26 - JY-19995: Update command693b8c5f - JY-19995: Delete unused s3 directoriesbesbelsb -Jr-ly77o. Upaate logs8d5a041b - JY-19995: Fix cs/testse6bd5b18 - Merge branch 'master' into JY-19995-delete-leftover-tracks-commandshow moreaiminny/app Added by GitHulCircleCI APP 3:37 PMDeployment Successful!Project: appWhen: 04/27 202612-37-16Thg!View JobMessage #releases+ АalAl reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono ledtures grie nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondtimetrackInterest endpoint missing ratelimitinaFixed - canManageAiReports extracted as a sharedcomputedStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297"hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser)..he switch from count() > • to exists() is a good micro-optimisation - MySQL can short-circuit on the firstlatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every /ers/current request (i.e, every page load). The applyUserAccessScope method uses whereJsonContains on twoson columns ( recinients->users. arouos ) — these can't oe indexed etticientiv and willl dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftransform() is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports column to users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.ix this →.trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"conf":"0.30000001192092896", [{"conf":"0.30000001192092896","level":"0","page_num":"0","par_num":"0","top":"0.00000000033500369145400555","width":"0.16279069413530067","left":"0.8343023291036361","height":"0.020905922094220375","block_num":"0","line_num":"0","word_num":"0","text":"Q4A 10%4 8 Mon27 Apr 18:41:30"},{"conf":"1","line_num":"0","left":"0.8880813955232558","level":"0","par_num":"0","top":"0.027874564947735214","page_num":"0","height":"0.02439024341463414","block_num":"0","text":"*","width":"0.010174418401162733","word_num":"0"},{"text":"8 22","left":"0.4215116285065679","height":"0.021014286570571916","par_num":"0","block_num":"0","level":"0","line_num":"0","top":"0.06271777048382365","page_num":"0","width":"0.014534883042599311","word_num":"0","conf":"0.30000001192092896"},{"par_num":"0","line_num":"0","text":"Activity","top":"0.24390243911780862","left":"0.004360465697692593","level":"0","width":"0.014534883042599294","height":"0.017421602252187585","word_num":"0","page_num":"0","block_num":"0","conf":"1"},{"left":"0.007267441903655982","conf":"0.30000001192092896","text":"Files","top":"0.2961672476636912","height":"0.020905922094220486","line_num":"0","level":"0","width":"0.008720929952377967","word_num":"0","page_num":"0","block_num":"0","par_num":"0"},{"conf":"1","block_num":"0","left":"0.007267441913345902","line_num":"0","text":"Later","level":"0","page_num":"0","par_num":"0","top":"0.3519163764000386","word_num":"0","height":"0.017421602252187585","width":"0.00872092995237797"},{"block_num":"0","width":"0.011627906180442649","line_num":"0","level":"0","par_num":"0","text":"More","left":"0.0058139540803213065","height":"0.013937282410154683","top":"0.407665505020242","word_num":"0","conf":"1","page_num":"0"},{"text":"Slack","width":"0.014534883042599294","line_num":"0","par_num":"0","word_num":"0","top":"0.000000000441850445120906","page_num":"0","block_num":"0","left":"0.01598837218994067","conf":"1","level":"0","height":"0.017421602252187585"},{"block_num":"0","height":"0.006968641205077342","par_num":"0","word_num":"0","conf":"0.30000001192092896","left":"0.06395348841001604","text":"VIew","top":"0.00696864102015915","page_num":"0","level":"0","width":"0.010174418383456299","line_num":"0"},{"page_num":"0","conf":"1","width":"0.01744185990475594","line_num":"0","level":"0","block_num":"0","left":"0.09302325638483132","height":"0.013937282410154683","par_num":"0","top":"0.0034843203512524568","word_num":"0","text":"History"},{"block_num":"0","width":"0.03640209613962376","top":"0.06569819364785057","line_num":"0","level":"0","height":"0.014945075082246628","text":"Jiminny... v","word_num":"0","left":"0.02758383746636584","par_num":"0","conf":"0.5","page_num":"0"},{"left":"0.03343023162082732","width":"0.04941860158392724","par_num":"0","page_num":"0","line_num":"0","height":"0.010452960286604362","conf":"0.5","level":"0","text":"@ jiminny-x-integrati","top":"0.09407665591941561","block_num":"0","word_num":"0"},{"top":"0.11483253574621899","par_num":"0","width":"0.05377906941353006","left":"0.03343023206285708","block_num":"0","conf":"0.5","height":"0.017571645490290444","page_num":"0","line_num":"0","word_num":"0","text":"& platform-inner-team","level":"0"},{"level":"0","line_num":"0","left":"0.029069768796061723","top":"0.14274322169059017","width":"0.029069766085198585","text":"© Channels","height":"0.01754385964912275","word_num":"0","block_num":"0","par_num":"0","conf":"0.30000001192092896","page_num":"0"},{"conf":"1","page_num":"0","top":"0.16673966325440914","width":"0.03351975248215046","line_num":"0","text":"# ai-chapter","word_num":"0","height":"0.01843704941550317","left":"0.0333854731523376","level":"0","par_num":"0","block_num":"0"},{"text":"# alerts","left":"0.033430233468533056","level":"0","word_num":"0","page_num":"0","top":"0.18815331079259123","height":"0.01758831577818165","conf":"0.5","block_num":"0","line_num":"0","par_num":"0","width":"0.021802323929806973"},{"block_num":"0","left":"0.034883720326690446","level":"0","conf":"0.30000001192092896","par_num":"0","top":"0.2160278744399171","width":"0.026162791759409804","line_num":"0","text":"i backend","height":"0.007257612128006796","page_num":"0","word_num":"0"},{"text":"# confusion-clinic","level":"0","top":"0.23344947777831704","height":"0.017746694160230114","width":"0.045058138827060126","block_num":"0","word_num":"0","page_num":"0","conf":"1","left":"0.033430233663020295","par_num":"0","line_num":"0"},{"top":"0.25757575757575757","width":"0.03779069667166852","page_num":"0","par_num":"0","line_num":"0","text":"# curiosity_lab","block_num":"0","height":"0.014354066985645897","word_num":"0","level":"0","left":"0.033430233415436834","conf":"1"},{"par_num":"0","word_num":"0","block_num":"0","page_num":"0","height":"0.017421602252187585","level":"0","left":"0.03343023248338709","conf":"1","line_num":"0","top":"0.2787456450411536","text":"# engineering","width":"0.03633720824059019"},{"conf":"1","left":"0.03343023208948343","block_num":"0","page_num":"0","height":"0.010558546635142552","line_num":"0","par_num":"0","top":"0.3030303031104722","level":"0","text":"# general","width":"0.024709300791963616","word_num":"0"},{"line_num":"0","conf":"1","width":"0.04069767353382517","left":"0.033430233678823834","par_num":"0","block_num":"0","level":"0","page_num":"0","top":"0.3237639551848104","text":"# infra-changes","word_num":"0","height":"0.017699459142852314"},{"top":"0.3449477351689121","left":"0.03343023267189024","width":"0.03343023137843355","height":"0.017421602252187474","conf":"1","text":"# jiminny-bg","level":"0","block_num":"0","par_num":"0","word_num":"0","page_num":"0","line_num":"0"},{"conf":"0.30000001192092896","left":"0.03343023162280512","width":"0.04360465293234968","par_num":"0","word_num":"0","block_num":"0","height":"0.006968641205077342","top":"0.3728222995949062","level":"0","line_num":"0","page_num":"0","text":"ac olatorm-nckets"},{"level":"0","left":"0.03343023562535342","text":"# product_launches","width":"0.04941860158392724","line_num":"0","top":"0.3899521529042582","par_num":"0","word_num":"0","height":"0.01771335206343605","conf":"1","block_num":"0","page_num":"0"},{"word_num":"0","block_num":"0","width":"0.026162789223041938","left":"0.03343023460359518","line_num":"0","level":"0","page_num":"0","top":"0.41463414720861425","height":"0.010452960286604362","conf":"1","par_num":"0","text":"# random"},{"text":"# releases","width":"0.02761627765412026","level":"0","word_num":"0","conf":"1","block_num":"0","line_num":"0","page_num":"0","top":"0.43540669862046466","left":"0.033430233051310106","height":"0.017554973681387476","par_num":"0"},{"text":"# sofia-office","top":"0.45614035062370617","page_num":"0","line_num":"0","block_num":"0","width":"0.03488371980951188","word_num":"0","height":"0.017727244984019896","conf":"1","level":"0","left":"0.0334302336998952","par_num":"0"},{"par_num":"0","height":"0.013937282410154683","block_num":"0","level":"0","conf":"1","word_num":"0","top":"0.48083623672755915","width":"0.027616277654120266","text":"# support","page_num":"0","left":"0.033430233969918705","line_num":"0"},{"height":"0.017568866601971322","level":"0","block_num":"0","page_num":"0","line_num":"0","text":"# thank-yous","left":"0.0334302336998952","top":"0.5015948961656965","conf":"1","par_num":"0","word_num":"0","width":"0.03488371980951188"},{"line_num":"0","top":"0.5223285484012261","left":"0.033430235379805606","page_num":"0","par_num":"0","width":"0.05523255530824053","block_num":"0","conf":"0.5","word_num":"0","level":"0","text":"# the_people_of jimi...","height":"0.017741137904603632"},{"left":"0.028943613485541628","height":"0.012721099731834662","text":"A Direct messages","line_num":"0","conf":"1","top":"0.5562816166068031","page_num":"0","width":"0.04385969993915964","block_num":"0","word_num":"0","par_num":"0","level":"0"},{"top":"0.5749128923237498","text":"P Galya Dimitrova","word_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","block_num":"0","height":"0.017591094666500773","width":"0.05232557844608388","level":"0","left":"0.03343023550429098","par_num":"0"},{"height":"0.021030958379474662","width":"0.04941860158392724","level":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","left":"0.03197674569575711","top":"0.5956937797519628","par_num":"0","text":"R. Aneliya Angelova","word_num":"0","page_num":"0"},{"par_num":"0","width":"0.03633720824059019","word_num":"0","page_num":"0","left":"0.03343023252693484","text":"€. Vasil Vasilev","block_num":"0","conf":"0.30000001192092896","height":"0.017749473048549347","level":"0","top":"0.6202090596724255","line_num":"0"},{"left":"0.033430237792518816","height":"0.017682787333949346","line_num":"0","page_num":"0","top":"0.6443381180735741","conf":"0.5","word_num":"0","block_num":"0","level":"0","par_num":"0","text":"3 Aneliya Angelova, ...","width":"0.05377906434079434"},{"height":"0.017421602252187585","left":"0.03343023364877599","par_num":"0","text":"R. Nikolay Yankov","width":"0.04215116196490349","page_num":"0","line_num":"0","word_num":"0","block_num":"0","conf":"0.5","level":"0","top":"0.6655052266178086"},{"width":"0.04215116196490349","level":"0","word_num":"0","page_num":"0","block_num":"0","height":"0.0177355801279655","line_num":"0","left":"0.0334302320269567","par_num":"0","text":"C. Nikolay Ivanov","top":"0.6864111500801692","conf":"0.5"},{"word_num":"0","top":"0.710526315793022","line_num":"0","par_num":"0","page_num":"0","block_num":"0","height":"0.01769668025453308","left":"0.033430233608541776","width":"0.045058138827060126","conf":"0.5","text":"R. Nikolay Nikolov","level":"0"},{"par_num":"0","line_num":"0","width":"0.04796511568921677","block_num":"0","conf":"0.30000001192092896","word_num":"0","page_num":"0","level":"0","text":"ff. Stefka Stoyanova","height":"0.017421602252187585","left":"0.0334302335307816","top":"0.7317073172101431"},{"left":"0.03343023190749662","width":"0.04505813882706013","word_num":"0","page_num":"0","par_num":"0","level":"0","line_num":"0","height":"0.017721687207381653","text":"R. Adelina Petrova","top":"0.752613240720201","block_num":"0","conf":"1"},{"block_num":"0","par_num":"0","level":"0","text":"R?. Stoyan Tomov","conf":"0.30000001192092896","page_num":"0","top":"0.7767145135705419","word_num":"0","left":"0.03343023367505823","line_num":"0","height":"0.01771057317511704","width":"0.04069767353382516"},{"conf":"1","height":"0.010452960286604362","page_num":"0","top":"0.8013937287417153","block_num":"0","left":"0.0334302366242539","width":"0.043604647859613946","word_num":"0","par_num":"0","line_num":"0","text":"( Petko Kashinski","level":"0"},{"level":"0","line_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.033430233608541776","par_num":"0","text":"8. Mario Georgiev","width":"0.045058138827060126","word_num":"0","block_num":"0","top":"0.8221690590544602","height":"0.017552194793068465"},{"conf":"0.30000001192092896","line_num":"0","par_num":"0","word_num":"0","page_num":"0","block_num":"0","height":"0.010566881779088155","level":"0","text":"Ss: Todor Stamatov.","left":"0.03343023662617514","width":"0.043604647859613946","top":"0.8466898963487846"},{"word_num":"0","left":"0.03343023190749662","width":"0.04505813882706013","conf":"0.5","line_num":"0","par_num":"0","text":"P. Gabriela Dureva","height":"0.017421602252187474","page_num":"0","top":"0.8641114982351142","block_num":"0","level":"0"},{"par_num":"0","width":"0.020348835498728655","text":"#:: Annd","word_num":"0","left":"0.0276162788707467","top":"0.8987240829657563","line_num":"0","level":"0","conf":"0.30000001192092896","block_num":"0","height":"0.01068358215989107","page_num":"0"},{"line_num":"0","level":"0","par_num":"0","conf":"0.5","left":"0.03343023298627709","text":"S Jira Cloud","height":"0.017421602252187474","top":"0.9198606275759968","word_num":"0","width":"0.03197674294735524","page_num":"0","block_num":"0"},{"level":"0","left":"0.03343023412519857","par_num":"0","height":"0.017766144857452204","page_num":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","text":"® Toast","top":"0.9407665505780702","width":"0.023255812360885295","word_num":"0"},{"page_num":"0","par_num":"0","text":"Window","level":"0","conf":"1","block_num":"0","left":"0.11482558143328095","top":"-0.00000000002272559918026218","width":"0.01744185990475594","height":"0.017421602252187585","line_num":"0","word_num":"0"},{"width":"0.011627906180442654","height":"0.017421602252187585","conf":"1","level":"0","page_num":"0","par_num":"0","text":"Help","left":"0.1366279071810965","block_num":"0","word_num":"0","top":"0.000000000441850445120906","line_num":"0"},{"block_num":"0","height":"0.017579980634236048","text":"Q Describe what you are looking f","page_num":"0","word_num":"0","level":"0","line_num":"0","conf":"1","par_num":"0","top":"0.027874564683673886","width":"0.06831394865157756","left":"0.14098837610388495"},{"level":"0","left":"0.11337209426127211","par_num":"0","text":"# releases","top":"0.06618819745513704","width":"0.03197674294735521","line_num":"0","page_num":"0","conf":"1","word_num":"0","height":"0.01395117533073853","block_num":"0"},{"left":"0.10465116432315079","page_num":"0","height":"0.01059744650857486","conf":"1","par_num":"0","text":"• Messages","word_num":"0","level":"0","top":"0.10104529652728955","width":"0.024709300791963637","line_num":"0","block_num":"0"},{"word_num":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","left":"0.13517442043055924","height":"0.0071770334928229484","par_num":"0","width":"0.017441858636571994","text":"r Files","top":"0.1044657097288676","level":"0"},{"level":"0","block_num":"0","height":"0.0071770334928229484","page_num":"0","width":"0.029069766085198595","word_num":"0","left":"0.15843023376708676","top":"0.1044657097288676","conf":"0.5","line_num":"0","par_num":"0","text":"• Bookmarks"},{"par_num":"0","left":"0.2005813950836582","conf":"0.30000001192092896","page_num":"0","level":"0","block_num":"0","top":"0.12195121954001853","line_num":"0","height":"0.007235383302971465","word_num":"0","text":"When: 04/2// ZUzo 11:35:50","width":"0.06540697686215663"},{"par_num":"0","height":"0.007343747018817126","word_num":"0","left":"0.11918604845074231","conf":"1","top":"0.20557491325434107","width":"0.020348835498728637","line_num":"0","text":"View Job","block_num":"0","page_num":"0","level":"0"},{"width":"0.045058138827060126","par_num":"0","block_num":"0","line_num":"0","page_num":"0","text":"GitHub APP 2:42 PM","left":"0.11773255960951272","top":"0.2296650718982014","level":"0","word_num":"0","height":"0.017721687207381653","conf":"1"},{"line_num":"0","page_num":"0","text":"1/ new commits pushed to master by lodorstamatov)iminnv","block_num":"0","height":"0.007207597461803994","top":"0.2543554009942979","left":"0.11773257237957876","conf":"0.5","level":"0","par_num":"0","width":"0.13517440633570896","word_num":"0"},{"text":"e42c672c - JY-20478: implement stop sync calendar events on revoked grants","par_num":"0","line_num":"0","word_num":"0","left":"0.12354651823426048","height":"0.017696680254533192","page_num":"0","top":"0.2717770037782289","block_num":"0","level":"0","conf":"1","width":"0.17296511061648107"},{"height":"0.007282619080855368","left":"0.12354651604811667","page_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"8cf15566 -JY-204/8: nx unit tests","top":"0.29585326947918344","width":"0.0770348792380475","word_num":"0","conf":"0.5","level":"0"},{"conf":"0.5","height":"0.0071770334928229484","top":"0.3133971291866029","level":"0","word_num":"0","line_num":"0","left":"0.12354650911225253","page_num":"0","par_num":"0","width":"0.1627906839898292","text":"6425ebb4| - JY-204/8: add migration for calendars.status to allow 20 chars","block_num":"0"},{"text":"65088554 - JY-204/8: nx warning messages, uodate calendar/emalls status on success","line_num":"0","block_num":"0","height":"0.007229825526333333","page_num":"0","conf":"1","par_num":"0","width":"0.18895346053103182","top":"0.3484320562744495","word_num":"0","left":"0.12354653944915736","level":"0"},{"left":"0.12209302481919587","block_num":"0","line_num":"0","top":"0.3832752618685624","height":"0.01066413222317486","text":"jiminny/app Added by GitHub","width":"0.06104650395981809","conf":"0.5","word_num":"0","page_num":"0","par_num":"0","level":"0"},{"line_num":"0","level":"0","word_num":"0","text":"CircleCI APP 3:05 PM","left":"0.11627907261295989","conf":"1","par_num":"0","block_num":"0","top":"0.40418118505829237","height":"0.0176688944133655","page_num":"0","width":"0.049418601583927246"},{"block_num":"0","width":"0.0668604627568671","conf":"1","line_num":"0","text":"Deployment Successful!","level":"0","par_num":"0","word_num":"0","height":"0.01754385964912275","left":"0.11337209315380667","page_num":"0","top":"0.42503987240829344"},{"block_num":"0","par_num":"0","text":"Project: app","word_num":"0","left":"0.11627907105708454","top":"0.4529505582137161","height":"0.01754385964912286","conf":"1","width":"0.029069766085198595","page_num":"0","line_num":"0","level":"0"},{"block_num":"0","par_num":"0","height":"0.006968640444571572","level":"0","top":"0.4773519167115121","word_num":"0","left":"0.1162790696863644","line_num":"0","text":"la?","page_num":"0","width":"0.01017441774936434","conf":"0.30000001192092896"},{"height":"0.013948396442419408","text":"When: 04/27/2026 12:05:14","top":"0.4529505582224156","page_num":"0","left":"0.19912790702192593","conf":"1","block_num":"0","level":"0","line_num":"0","par_num":"0","width":"0.06831395372431329","word_num":"0"},{"line_num":"0","left":"0.11918604701510825","top":"0.536585365519778","width":"0.020348836766912584","conf":"1","par_num":"0","block_num":"0","height":"0.017641110093209567","page_num":"0","text":"View Job","word_num":"0","level":"0"},{"conf":"1","text":"GitHub APP 3:16 PM","left":"0.11773255961024609","top":"0.5677830940988836","width":"0.04505813882706014","word_num":"0","level":"0","par_num":"0","block_num":"0","page_num":"0","height":"0.014354066985645897","line_num":"0"},{"width":"0.1366278973031551","level":"0","block_num":"0","top":"0.5885167464114832","page_num":"0","line_num":"0","left":"0.11482557780821762","word_num":"0","height":"0.011164274322169043","par_num":"0","conf":"1","text":"20 new commits pushed to master by mihailmihaylovjiminny"},{"width":"0.09011627765412027","line_num":"0","page_num":"0","left":"0.12354651350170896","level":"0","par_num":"0","conf":"1","text":"Зас71c26 - JY-19995: Update command","word_num":"0","block_num":"0","height":"0.013937282410154683","top":"0.6097560974594568"},{"page_num":"0","level":"0","top":"0.6267942583732058","width":"0.11337208240590198","word_num":"0","conf":"1","height":"0.014354066985645897","par_num":"0","text":"693b8c5f - JY-19995: Delete unused s3 directories","line_num":"0","block_num":"0","left":"0.1235465222431779"},{"height":"0.0071770334928229484","block_num":"0","left":"0.12354651608852178","level":"0","width":"0.0755813831978656","line_num":"0","page_num":"0","text":"besbelsb -Jr-ly77o. Upaate logs","par_num":"0","conf":"0.30000001192092896","top":"0.6515151515151515","word_num":"0"},{"text":"8d5a041b - JY-19995: Fix cs/tests","top":"0.6618819779903314","line_num":"0","level":"0","page_num":"0","conf":"0.5","block_num":"0","par_num":"0","height":"0.01756052993701407","left":"0.12354651610297782","width":"0.07703487923804747","word_num":"0"},{"block_num":"0","word_num":"0","page_num":"0","width":"0.18168603613021525","par_num":"0","line_num":"0","text":"e6bd5b18 - Merge branch 'master' into JY-19995-delete-leftover-tracks-command","level":"0","conf":"1","top":"0.6794258373205742","left":"0.12354652200931962","height":"0.01754385964912286"},{"par_num":"0","text":"show more","width":"0.026162789223041938","page_num":"0","left":"0.12209302265549815","height":"0.006968640444571572","word_num":"0","line_num":"0","top":"0.7038327529484459","conf":"0.5","block_num":"0","level":"0"},{"line_num":"0","width":"0.06104651410528955","word_num":"0","text":"aiminny/app Added by GitHul","page_num":"0","height":"0.00732985485873916","conf":"0.30000001192092896","block_num":"0","left":"0.12209302197282229","par_num":"0","top":"0.7208931418013569","level":"0"},{"top":"0.742160278657975","word_num":"0","block_num":"0","level":"0","line_num":"0","left":"0.11773255955145004","width":"0.04796511568921677","height":"0.017807823619203744","text":"CircleCI APP 3:37 PM","page_num":"0","conf":"0.5","par_num":"0"},{"block_num":"0","width":"0.0683139537243133","word_num":"0","height":"0.017635552316571323","text":"Deployment Successful!","level":"0","conf":"0.5","left":"0.11191860326190943","page_num":"0","par_num":"0","line_num":"0","top":"0.7630662022542091"},{"text":"Project: app","width":"0.02906976608519858","level":"0","block_num":"0","par_num":"0","line_num":"0","top":"0.7909407663442839","word_num":"0","page_num":"0","height":"0.013937282410154683","left":"0.11627907107222503","conf":"1"},{"block_num":"0","conf":"0.5","line_num":"0","par_num":"0","height":"0.0071770334928229484","level":"0","page_num":"0","text":"When: 04/27 202612-37-16","width":"0.0668604576841314","word_num":"0","left":"0.19912790772277728","top":"0.7942583732057417"},{"conf":"0.30000001192092896","word_num":"0","height":"0.006968641205077342","left":"0.11627906980536487","line_num":"0","text":"Thg!","par_num":"0","block_num":"0","level":"0","page_num":"0","top":"0.811846689800647","width":"0.010174418383456285"},{"top":"0.8745644597240749","level":"0","block_num":"0","page_num":"0","par_num":"0","conf":"1","height":"0.013937282410154683","text":"View Job","width":"0.021802323929806966","line_num":"0","left":"0.11918604806670441","word_num":"0"},{"top":"0.9233449483486083","word_num":"0","height":"0.010466853967693979","text":"Message #releases","page_num":"0","conf":"1","level":"0","line_num":"0","block_num":"0","left":"0.10610465068022899","width":"0.043604647859613946","par_num":"0"},{"conf":"0.30000001192092896","block_num":"0","level":"0","line_num":"0","par_num":"0","text":"+ Аal","width":"0.01889534706765031","word_num":"0","page_num":"0","height":"0.010611339429158706","left":"0.10755814136443057","top":"0.9545454544222594"},{"left":"0.5029069814629333","text":"Al reports promotion pages #11998","conf":"1","page_num":"0","line_num":"0","block_num":"0","par_num":"0","level":"0","width":"0.08284883296236079","top":"0.06271777012826163","word_num":"0","height":"0.017421602252187585"},{"block_num":"0","left":"0.5029069803738964","page_num":"0","par_num":"0","top":"0.08362369354010668","word_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","level":"0","height":"0.010475189872145352","line_num":"0","width":"0.2194767404109873","conf":"1"},{"line_num":"0","top":"0.10765550223535247","level":"0","left":"0.515988370209941","page_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.08720929571922797","word_num":"0","height":"0.007327075970420038","block_num":"0","text":"ranoramakeportsrrono ledtures grie nou"},{"top":"0.10446570957187562","height":"0.010516868633896892","width":"0.12936045261139562","page_num":"0","word_num":"0","level":"0","block_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","line_num":"0","par_num":"0","conf":"0.30000001192092896","left":"0.6206395320015682"},{"width":"0.023255814897253146","top":"0.12543554003627422","level":"0","block_num":"0","text":"leseeis","word_num":"0","conf":"0.30000001192092896","line_num":"0","left":"0.5145348831763734","height":"0.003484320602538671","page_num":"0","par_num":"0"},{"height":"0.017571645490290444","text":"added at line 170","word_num":"0","block_num":"0","page_num":"0","left":"0.6206395381627619","level":"0","width":"0.04069767099745736","line_num":"0","top":"0.11483253561555695","conf":"1","par_num":"0"},{"left":"0.6206395393446207","width":"0.13226743454628798","height":"0.01754385964912275","top":"0.14274322169059017","word_num":"0","page_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","conf":"1","level":"0"},{"top":"0.15311004759362778","width":"0.08720929571922786","word_num":"0","height":"0.017621659395987477","text":"Wording inconsistency (modal vs inline)","conf":"1","par_num":"0","block_num":"0","line_num":"0","left":"0.5145348893682301","level":"0","page_num":"0"},{"conf":"0.5","level":"0","line_num":"0","top":"0.16724738673389183","height":"0.006968641205077342","page_num":"0","par_num":"0","block_num":"0","width":"0.027616277654120225","text":"as possible.","word_num":"0","left":"0.6206395362891324"},{"conf":"0.30000001192092896","top":"0.1951219515547178","width":"0.08866277654120269","height":"0.006968640444571461","block_num":"0","page_num":"0","left":"0.514534888937681","par_num":"0","text":"nrer compured calling can a second","level":"0","line_num":"0","word_num":"0"},{"height":"0.017421602252187585","par_num":"0","line_num":"0","left":"0.5145348842644298","top":"0.20557491302895847","page_num":"0","text":"time","conf":"1","width":"0.011627906180442626","level":"0","word_num":"0","block_num":"0"},{"page_num":"0","level":"0","block_num":"0","text":"trackInterest endpoint missing rate","top":"0.23344947777831704","par_num":"0","word_num":"0","line_num":"0","conf":"1","width":"0.08430232392980697","left":"0.5145348853433209","height":"0.017746694160230114"},{"conf":"1","height":"0.006968640444571461","page_num":"0","block_num":"0","width":"0.015988370205493596","text":"limitina","left":"0.5145348854641136","line_num":"0","top":"0.25435540103206966","level":"0","word_num":"0","par_num":"0"},{"line_num":"0","par_num":"0","block_num":"0","text":"Fixed - canManageAiReports extracted as a shared","level":"0","top":"0.1913875596748179","page_num":"0","width":"0.11337207226043056","left":"0.6206395555679566","word_num":"0","height":"0.010703032096607279","conf":"1"},{"word_num":"0","text":"computed","level":"0","top":"0.20557491298540453","left":"0.6220930244397125","block_num":"0","height":"0.017421602252187474","line_num":"0","page_num":"0","par_num":"0","conf":"1","width":"0.023255812360885253"},{"word_num":"0","level":"0","text":"Still present (see below)","top":"0.24003189772282119","left":"0.6206395358560387","conf":"1","line_num":"0","page_num":"0","height":"0.017807823619203744","par_num":"0","block_num":"0","width":"0.05523255530824056"},{"level":"0","par_num":"0","text":"Remaining issues","width":"0.0479651156892168","height":"0.017613322731030334","top":"0.31339712947633447","page_num":"0","word_num":"0","line_num":"0","conf":"1","block_num":"0","left":"0.5000000013287278"},{"height":"0.017596652443139016","text":". Extra DB query still fires on every page load","top":"0.34843205595226867","width":"0.10319766592472168","word_num":"0","block_num":"0","line_num":"0","conf":"0.5","par_num":"0","left":"0.500000004738088","level":"0","page_num":"0"},{"height":"0.017632773428252313","page_num":"0","conf":"1","par_num":"0","left":"0.4999999984771364","level":"0","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","top":"0.3763066205923885","word_num":"0","line_num":"0","block_num":"0","width":"0.24709301806510764"},{"text":"\"hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser)..","word_num":"0","block_num":"0","height":"0.010708589112739642","top":"0.4178628389257557","width":"0.21947674041098741","par_num":"0","page_num":"0","level":"0","conf":"1","left":"0.5029069798770383","line_num":"0"},{"height":"0.017741137904603743","conf":"0.5","page_num":"0","word_num":"0","line_num":"0","left":"0.501453503855734","block_num":"0","level":"0","text":"he switch from count() > • to exists() is a good micro-optimisation - MySQL can short-circuit on the first","width":"0.24127905419532292","top":"0.45993031357802616","par_num":"0"},{"line_num":"0","conf":"1","par_num":"0","top":"0.47735191681815714","width":"0.24854651917802528","block_num":"0","height":"0.017421602252187474","left":"0.5014534767587945","text":"latching row. But the query still executes on every UserTransformer: : transform() call, which happens on every /","word_num":"0","page_num":"0","level":"0"},{"word_num":"0","top":"0.4912280702286602","left":"0.5029069727350569","line_num":"0","text":"ers/current request (i.e, every page load). The applyUserAccessScope method uses whereJsonContains on two","par_num":"0","level":"0","page_num":"0","width":"0.24709301806510753","block_num":"0","conf":"1","height":"0.020967051553193783"},{"left":"0.5000000052194282","page_num":"0","text":"son columns ( recinients->users. arouos ) — these can't oe indexed etticientiv and willl dearade as the","level":"0","block_num":"0","conf":"0.5","par_num":"0","top":"0.5156794428439163","line_num":"0","height":"0.006968640444571572","width":"0.22819764563377876","word_num":"0"},{"word_num":"0","top":"0.5606060607313222","height":"0.0073381900026847635","text":"uaaested mitiaations (in order of effort):","left":"0.5014534853695467","line_num":"0","par_num":"0","block_num":"0","width":"0.08720930586469933","conf":"0.5","page_num":"0","level":"0"},{"word_num":"0","level":"0","left":"0.5014534869745092","conf":"0.5","height":"0.01754385964912286","page_num":"0","line_num":"0","block_num":"0","par_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","top":"0.5853269537480064","width":"0.17587209255137348"},{"page_num":"0","top":"0.6027874562178817","width":"0.2398255733733481","level":"0","block_num":"0","par_num":"0","line_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","word_num":"0","height":"0.01762721717262572","left":"0.5058139626900788","conf":"0.5"},{"height":"0.010541874826239583","line_num":"0","block_num":"0","left":"0.505813965175791","text":"transform() is called multiple times in a single response","top":"0.6236044658250198","level":"0","conf":"1","width":"0.12499998985452854","par_num":"0","page_num":"0","word_num":"0"},{"block_num":"0","level":"0","text":"• Denormalised boolean: add a has_generated_ai_reports column to users , set/cleared by the report generation/","par_num":"0","page_num":"0","line_num":"0","word_num":"0","height":"0.017421602252187474","left":"0.500000009904769","top":"0.6376306621143244","width":"0.2558139435788419","conf":"1"},{"level":"0","conf":"1","left":"0.5058139514101975","line_num":"0","par_num":"0","top":"0.6618819776714514","width":"0.10465116703763921","height":"0.0071770334928229484","block_num":"0","page_num":"0","word_num":"0","text":"deletion pipeline — eliminates the querv entirelv."},{"block_num":"0","height":"0.0177355801279655","text":"ix this →","width":"0.021802323929806966","par_num":"0","line_num":"0","top":"0.6864111501382412","word_num":"0","left":"0.5000000014415185","level":"0","page_num":"0","conf":"0.30000001192092896"},{"par_num":"0","text":".trackInterest endpoint has no rate limit or idempotency guard","top":"0.742160278657975","width":"0.15261627765412034","word_num":"0","level":"0","left":"0.5014534903874139","page_num":"0","block_num":"0","height":"0.017807823619203744","line_num":"0","conf":"1"},{"conf":"1","left":"0.49997788500739343","page_num":"0","block_num":"0","par_num":"0","top":"0.7722668313743503","width":"0.22969221561513048","word_num":"0","line_num":"0","level":"0","height":"0.015280556260493738","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/"},{"block_num":"0","par_num":"0","text":"pi.php:282","width":"0.02470930332833149","conf":"0.5","word_num":"0","left":"0.4999999995712994","height":"0.006968641205077342","top":"0.7944250870834626","page_num":"0","level":"0","line_num":"0"},{"level":"0","left":"0.5029069986857431","line_num":"0","block_num":"0","height":"0.021122649525911585","text":"public function trackInterest(Request srequest): JsonResponse","conf":"0.5","page_num":"0","top":"0.8325358852423792","width":"0.14680230363886415","word_num":"0","par_num":"0"},{"text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","top":"0.8604465709728868","height":"0.0071770334928229484","line_num":"0","conf":"0.5","block_num":"0","left":"0.5116279148651706","level":"0","page_num":"0","par_num":"0","word_num":"0","width":"0.23255810839064572"},{"height":"0.010647460414272003","top":"0.9266347687970263","conf":"1","level":"0","width":"0.25290696164394944","left":"0.500000019045948","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","block_num":"0","page_num":"0","word_num":"0","par_num":"0","line_num":"0"},{"conf":"1","word_num":"0","page_num":"0","line_num":"0","left":"0.49999999512449644","top":"0.9407665505780702","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","width":"0.2441860564211581","height":"0.017766144857452204","par_num":"0","level":"0","block_num":"0"},{"conf":"1","height":"0.017421602252187474","line_num":"0","page_num":"0","top":"0.958188153403523","left":"0.5000000013824143","width":"0.05668604627568663","level":"0","block_num":"0","text":"racking noise in analytics.","word_num":"0","par_num":"0"}]...
|
Slack
|
AppleNative
|
releases (Channel) - Jiminny Inc - 3 new items - S releases (Channel) - Jiminny Inc - 3 new items - Slack...
|
1
|
3923
|
NULL
|
NULL
|
|
89128
|
PhostormVIeWINavigarecodeLaravelKeractorloolsFV fa PhostormVIeWINavigarecodeLaravelKeractorloolsFV faVsco.js#11998 on JY-20372-ai-reports-promotion-pagesProledey• →app ~ fiminnvlapo|>1h External Libraries), E° Scratches and Consolesv _ Database Consoles>AEU#jiminny@localhostV APROD# console [PRODId console 1 [pRODI4 DI [PROD]> AQA«@AI> A QAI PROD& STAGING>C Extensions> @ ScratchesC) CreateNudaeCreatedevent.on:c) AutomatedReportsRepositorylest.ong(c) RevortController.ong(C) AutomatedReportGeneratea.pnp© DeleteLeadJob.phpC DeleteAccountJob.pngphp api.php© IntegrationApp/Service.php© PlanhatActivityListener.php© RequestGenerateReportJob.php© AutomatedReportResult.phoC) AutomatedReport.phpclass UserPilotclientorivate function createReguest@: PendinaReauest• Token'• config( key: 'services.userpilot.key').AutomatedReportsRepositoryTestv© Salesforce/Service.phpA7Av36public function track(User $user, string Sevent, array $payload = [J): voidif (Sthis->shouldRequest(Suser->getTeam) === false) {recurn,Sthis->createRequest->post( url: self::ANALYTICS_ENDPOINT . 'track', ["event_nane → sevent.'user id' => Suser->getUuido'metadata =› spayload.public function upsertUser(User Suser): void{...}public function unsertCompanv(Team Steam): voidSthis->createRequest()->post( url: self::ANALYTICS ENDPOINT. 'companies/identify'.'metadata' => $this->getCompanyMetadata($team),orivate function aetComnanvMetadataTeam Steam)• arnav-...;public function deleteUser(User $user): void(...}public function deleteCompany(Team $team): void{...}nublie function chouldPequect(Toam Stoam)• boo1lreturn config( key: 'services.userpilot.key') !== null && $team->qetPartnerId === Partner::PARTNER_DEFAULT:= custom.log=laravel.logD0000A SF [jiminny@localhost]4 HS_local [jiminny@localhost]« console (PROD] X 4 console [EU]« console [STAGING]Tx: Auto616617618619620621— 622623— SELECT * FROM com profiles co JOIN users u 1..n<->1: on u,id = co.user id WHERE u.team id = 711:select * from leads:sellect * From callendars.SELECTt.id AS team_id,+. name.LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domainEROM teams +JOIN users u 1<-›1.n: ON u.team_id = t.idJOIN calendars c ON c.user_id = v.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%0%'LEFT JOIN team domains tdON td.team id = t.idAND td.deleted_ at IS NULLAND td.domain = LOWER(SUBSTRING INDEX(c.calendar provider id, '@'. -1))GROUP BY t.id, t.name, calendar domainORDER BY t.name, calendar domain:select * from users u join calendars c 1<->1..n: on c.user id = u.idwhere u.team id = 882select * from activities where id = 74049485; # team 563 crm 537select * from activities where 1d = 75212582: # team 563 crm 53select * from activities where id = 64400389; # team 563 crm 537select * Fromactivitles where 1d = 58081275: # Team 563 crm 557select * from activities where id = 54520297; # team 563 crm 537select * from narticinants where activitv 1d = 580812735select * from activities where crm_configuration_id = 537 and provider = 'aircalland account_id = 19003658 order by updated_at desc;select * from contacts where crm_configuration_id = 537 and id = 35957759;|select * from accounts where crm_configuration id = 537 and id = 19003658:select * from automated_report results where id = 1976;select * from automated reports where id = 583:select * from activity searches where id = 87714;select * from activity_search_filters where activity_search_id = 87714;SELECT * FROM activities WHERE uuid to_bin('8827f672-202d-4162-9d04-73ff5f0566a9') = uuidor uuid to bin(•47842446-af51-4bcb-854f-cc6560290101') = uuid:100% S2Mon 27 Apr 18:41:34So jiminnym 037 A1 A35 Y63 ^ VW Windsurf Teams 641:1 UTF-8Aensod...
|
[{"level":"0","top":"0 [{"level":"0","top":"0.006968641046706359","block_num":"0","word_num":"0","left":"0.01744185995005212","conf":"1","width":"0.021802326466174835","height":"0.006968641205077342","line_num":"0","par_num":"0","text":"Phostorm","page_num":"0"},{"block_num":"0","text":"VIeW","line_num":"0","left":"0.07267441842140664","page_num":"0","height":"0.006968640444571461","conf":"0.30000001192092896","width":"0.011627906180442654","top":"0.006968641450188162","word_num":"0","level":"0","par_num":"0"},{"conf":"0.30000001192092896","text":"INavigare","left":"0.09011627900977959","level":"0","height":"0.006968640444571461","page_num":"0","width":"0.018895347067650323","top":"0.006968641450188162","word_num":"0","line_num":"0","par_num":"0","block_num":"0"},{"block_num":"0","line_num":"0","conf":"0.30000001192092896","level":"0","text":"code","par_num":"0","height":"0.006968640444571461","word_num":"0","page_num":"0","width":"0.01162790618044264","left":"0.1148255812121043","top":"0.006968641450188162"},{"height":"0.006968640444571461","par_num":"0","text":"Laravel","block_num":"0","top":"0.006968641450188162","word_num":"0","level":"0","page_num":"0","conf":"1","line_num":"0","width":"0.01598837020549368","left":"0.1322674420048114"},{"par_num":"0","left":"0.15406976748403967","top":"0.006968641450188162","conf":"0.30000001192092896","level":"0","line_num":"0","width":"0.017441858636572022","block_num":"0","page_num":"0","height":"0.006968640444571461","text":"Keractor","word_num":"0"},{"width":"0.013081394611520969","top":"0.006968641450188162","conf":"0.5","page_num":"0","word_num":"0","line_num":"0","text":"lools","height":"0.006968640444571461","block_num":"0","left":"0.19186046613900692","level":"0","par_num":"0"},{"conf":"0.5","level":"0","line_num":"0","par_num":"0","top":"0.02787456497864904","width":"0.029069763548830722","page_num":"0","word_num":"0","block_num":"0","text":"FV faVsco.js","height":"0.010452960286604362","left":"0.030523259704860126"},{"left":"0.06831396185677534","height":"0.010452960286604362","block_num":"0","width":"0.10465115689216777","top":"0.02787456497864904","page_num":"0","line_num":"0","level":"0","word_num":"0","conf":"1","text":"#11998 on JY-20372-ai-reports-promotion-pages","par_num":"0"},{"level":"0","top":"0.05923344944238418","height":"0.003484320602538671","width":"0.020348836766912577","page_num":"0","conf":"0.30000001192092896","line_num":"0","text":"Proledey","block_num":"0","par_num":"0","word_num":"0","left":"0.014534883869450689"},{"block_num":"0","word_num":"0","line_num":"0","par_num":"0","top":"0.07974481661011934","height":"0.007363196955533335","conf":"0.30000001192092896","level":"0","width":"0.05232557337334816","left":"0.014534891742351602","text":"• →app ~ fiminnvlapo|","page_num":"0"},{"line_num":"0","page_num":"0","left":"0.014534891858478397","text":">1h External Libraries)","height":"0.007240940319103828","conf":"0.30000001192092896","top":"0.09728867614662373","width":"0.049418596511191515","word_num":"0","block_num":"0","level":"0","par_num":"0"},{"level":"0","left":"0.017441868125698274","page_num":"0","block_num":"0","par_num":"0","conf":"0.5","text":", E° Scratches and Consoles","height":"0.01051131085725876","line_num":"0","width":"0.06104650395981809","word_num":"0","top":"0.11149825852865847"},{"height":"0.0071770334928229484","page_num":"0","level":"0","par_num":"0","conf":"0.30000001192092896","line_num":"0","text":"v _ Database Consoles","left":"0.020348842871382628","block_num":"0","width":"0.05377906434079434","top":"0.13237639553429026","word_num":"0"},{"page_num":"0","height":"0.006968640444571572","left":"0.027616280899314276","top":"0.14982578430733096","par_num":"0","conf":"0.30000001192092896","line_num":"0","text":">AEU","word_num":"0","level":"0","width":"0.01889534706765033","block_num":"0"},{"text":"#jiminny@localhost","line_num":"0","top":"0.1672473871593717","page_num":"0","left":"0.03197674461585894","width":"0.04651162472177058","word_num":"0","conf":"1","level":"0","block_num":"0","height":"0.010452961047110243","par_num":"0"},{"left":"0.02761628107204132","level":"0","par_num":"0","conf":"0.30000001192092896","block_num":"0","line_num":"0","text":"V APROD","width":"0.02470930079196362","height":"0.006968640444571461","top":"0.1846689898822439","page_num":"0","word_num":"0"},{"height":"0.0073048471453848185","left":"0.04069767825161965","block_num":"0","page_num":"0","par_num":"0","top":"0.2017543859602864","level":"0","conf":"0.30000001192092896","text":"# console [PRODI","width":"0.03924418256637898","word_num":"0","line_num":"0"},{"level":"0","top":"0.21929824565899192","line_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.04360465293234966","block_num":"0","height":"0.007182590508955311","left":"0.03924418473577243","page_num":"0","text":"d console 1 [pRODI","word_num":"0"},{"word_num":"0","width":"0.027701365186813036","text":"4 DI [PROD]","block_num":"0","conf":"0.30000001192092896","left":"0.040655132777758334","level":"0","height":"0.01183408223080673","page_num":"0","par_num":"0","top":"0.23624323734094588","line_num":"0"},{"width":"0.01889534706765033","level":"0","page_num":"0","height":"0.010452960286604362","line_num":"0","par_num":"0","text":"> AQA","left":"0.027616280899314276","word_num":"0","block_num":"0","conf":"0.30000001192092896","top":"0.25435540121558287"},{"text":"«@AI","width":"0.015000000913092428","word_num":"0","left":"0.03316860416627971","top":"0.2694074315142563","line_num":"0","page_num":"0","level":"0","height":"0.014216496043228055","conf":"0.30000001192092896","block_num":"0","par_num":"0"},{"height":"0.01064190339813964","page_num":"0","top":"0.28919860679444775","width":"0.034883717273144016","line_num":"0","level":"0","par_num":"0","text":"> A QAI PROD","left":"0.02761628272174287","block_num":"0","conf":"0.30000001192092896","word_num":"0"},{"line_num":"0","level":"0","page_num":"0","word_num":"0","conf":"0.30000001192092896","height":"0.013197349779533574","par_num":"0","width":"0.026394319027028185","block_num":"0","left":"0.03329517474212951","text":"& STAGING","top":"0.3045542344374038"},{"width":"0.03633720570422233","line_num":"0","page_num":"0","top":"0.32376395549396664","level":"0","height":"0.010730817177269092","par_num":"0","text":">C Extensions","conf":"0.30000001192092896","left":"0.0203488408365861","word_num":"0","block_num":"0"},{"conf":"0.30000001192092896","width":"0.03493503306774383","word_num":"0","block_num":"0","level":"0","par_num":"0","text":"> @ Scratches","top":"0.3409461333560405","page_num":"0","height":"0.011487523524574939","line_num":"0","left":"0.020323182737874156"},{"top":"0.07989062823112936","width":"0.0655123883105339","word_num":"0","par_num":"0","block_num":"0","conf":"0.5","height":"0.011114303004798654","left":"0.10312685205196741","level":"0","line_num":"0","page_num":"0","text":"C) CreateNudaeCreatedevent.on:"},{"left":"0.1787185294823787","text":"c) AutomatedReportsRepositorylest.ong","height":"0.011396231643701071","conf":"0.5","par_num":"0","word_num":"0","line_num":"0","block_num":"0","page_num":"0","level":"0","width":"0.07861008035375716","top":"0.0796314582512253"},{"conf":"0.5","page_num":"0","level":"0","word_num":"0","line_num":"0","block_num":"0","text":"(c) RevortController.ong","width":"0.046661808135661675","top":"0.07978348060661555","height":"0.011168884508537591","left":"0.2659383123702564","par_num":"0"},{"word_num":"0","par_num":"0","line_num":"0","height":"0.010991270652418117","block_num":"0","conf":"0.5","left":"0.3211879265367353","top":"0.07990891418111279","level":"0","width":"0.0698327358732832","text":"(C) AutomatedReportGeneratea.pnp","page_num":"0"},{"text":"© DeleteLeadJob.php","word_num":"0","left":"0.10319767825042538","width":"0.043604647859613946","page_num":"0","par_num":"0","conf":"1","height":"0.010633568254193926","block_num":"0","level":"0","line_num":"0","top":"0.12891986087426455"},{"block_num":"0","top":"0.13237639553429026","page_num":"0","height":"0.0071770334928229484","left":"0.1555232548766413","text":"C DeleteAccountJob.png","conf":"0.5","level":"0","line_num":"0","par_num":"0","width":"0.04941860158392722","word_num":"0"},{"left":"0.27325581351584244","page_num":"0","par_num":"0","line_num":"0","top":"0.13237639553429026","block_num":"0","height":"0.0071770334928229484","level":"0","width":"0.021802326466174804","text":"php api.php","conf":"0.30000001192092896","word_num":"0"},{"width":"0.058139527097661514","left":"0.30377907755350125","word_num":"0","block_num":"0","text":"© IntegrationApp/Service.php","top":"0.12891986142873346","conf":"1","line_num":"0","page_num":"0","height":"0.010633567493688156","level":"0","par_num":"0"},{"block_num":"0","level":"0","left":"0.10174419162151564","word_num":"0","height":"0.010653018190910135","par_num":"0","top":"0.15311004775481918","conf":"1","line_num":"0","text":"© PlanhatActivityListener.php","width":"0.059593018065107625","page_num":"0"},{"block_num":"0","width":"0.06831394865157756","page_num":"0","text":"© RequestGenerateReportJob.php","conf":"0.5","height":"0.010497417936674913","par_num":"0","top":"0.17770034916869026","word_num":"0","line_num":"0","left":"0.10174418504921157","level":"0"},{"word_num":"0","line_num":"0","level":"0","top":"0.17770034916869026","par_num":"0","height":"0.010497417936674913","conf":"1","block_num":"0","page_num":"0","left":"0.17877907133088017","text":"© AutomatedReportResult.pho","width":"0.06104650395981809"},{"conf":"0.5","line_num":"0","left":"0.24854651565042735","top":"0.18102073365231264","text":"C) AutomatedReport.php","width":"0.049418601583927246","word_num":"0","page_num":"0","block_num":"0","level":"0","par_num":"0","height":"0.0071770334928229484"},{"width":"0.053779069413530056","left":"0.12209302346436873","conf":"0.5","level":"0","par_num":"0","block_num":"0","word_num":"0","top":"0.20175438612508534","text":"class UserPilotclient","line_num":"0","page_num":"0","height":"0.0073048471453848185"},{"text":"orivate function createReguest@: PendinaReauest","height":"0.007182590508955311","top":"0.21929824566685874","par_num":"0","word_num":"0","line_num":"0","level":"0","conf":"1","left":"0.13081395223599168","width":"0.12645349096744618","page_num":"0","block_num":"0"},{"block_num":"0","par_num":"0","top":"0.23684210526315785","level":"0","line_num":"0","height":"0.0071770334928230595","page_num":"0","word_num":"0","left":"0.20348837402413109","conf":"0.5","text":"• Token","width":"0.014534881774415365"},{"word_num":"0","level":"0","line_num":"0","height":"0.010544653714558705","left":"0.2223837237684166","par_num":"0","top":"0.23684210539102435","page_num":"0","conf":"1","block_num":"0","text":"'• config( key: 'services.userpilot.key').","width":"0.1061046377141425"},{"height":"0.010452960286604362","line_num":"0","top":"0.027874565327081102","block_num":"0","par_num":"0","left":"0.835755813713537","text":"AutomatedReportsRepositoryTestv","width":"0.07558138827060135","conf":"1","page_num":"0","word_num":"0","level":"0"},{"word_num":"0","block_num":"0","height":"0.011164274322169043","page_num":"0","conf":"1","line_num":"0","top":"0.0797448165869219","level":"0","par_num":"0","text":"© Salesforce/Service.php","left":"0.3997093078701994","width":"0.050872087478637695"},{"height":"0.010452960286604362","conf":"0.30000001192092896","left":"0.47093023198731637","line_num":"0","block_num":"0","page_num":"0","par_num":"0","text":"A7Av","top":"0.20209059320164557","width":"0.026162789223041938","level":"0","word_num":"0"},{"conf":"0.30000001192092896","page_num":"0","par_num":"0","block_num":"0","text":"36","width":"0.005813953090221327","word_num":"0","level":"0","top":"0.48083623757775606","height":"0.027874561778286067","line_num":"0","left":"0.10319767454500561"},{"par_num":"0","conf":"1","word_num":"0","level":"0","block_num":"0","page_num":"0","left":"0.1308139583977287","width":"0.1962209052227913","height":"0.010764160034569037","text":"public function track(User $user, string Sevent, array $payload = [J): void","top":"0.3066202098687387","line_num":"0"},{"top":"0.3413078148244342","block_num":"0","level":"0","par_num":"0","text":"if (Sthis->shouldRequest(Suser->getTeam) === false) {","width":"0.14389533184944317","word_num":"0","line_num":"0","page_num":"0","conf":"0.5","height":"0.010608561301345354","left":"0.14244186248472882"},{"block_num":"0","line_num":"0","top":"0.3623693383142996","text":"recurn,","width":"0.018895347067650337","page_num":"0","left":"0.15261627900977956","level":"0","par_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461","word_num":"0"},{"level":"0","page_num":"0","width":"0.18313951695218997","conf":"1","word_num":"0","par_num":"0","block_num":"0","height":"0.010700253968793927","line_num":"0","left":"0.142441864465407","text":"Sthis->createRequest->post( url: self::ANALYTICS_ENDPOINT . 'track', [","top":"0.41114982595421345"},{"text":"\"event_nane → sevent.","line_num":"0","conf":"0.30000001192092896","top":"0.43205574943430325","block_num":"0","height":"0.0073381900026847635","left":"0.15406976940547235","word_num":"0","width":"0.05813952709766143","page_num":"0","level":"0","par_num":"0"},{"block_num":"0","level":"0","line_num":"0","top":"0.44577352463809683","width":"0.07558138827060132","height":"0.010672468127626344","left":"0.15406976696194988","page_num":"0","par_num":"0","text":"'user id' => Suser->getUuido","conf":"0.5","word_num":"0"},{"par_num":"0","level":"0","page_num":"0","left":"0.1540697694121314","word_num":"0","line_num":"0","conf":"0.5","width":"0.05813952709766146","height":"0.007360418067214214","text":"'metadata =› spayload.","top":"0.4665071772183309","block_num":"0"},{"block_num":"0","word_num":"0","conf":"1","height":"0.010758603778942555","par_num":"0","left":"0.1308139561390791","line_num":"0","page_num":"0","width":"0.12936046275686713","level":"0","text":"public function upsertUser(User Suser): void{...}","top":"0.5331010453200158"},{"par_num":"0","page_num":"0","width":"0.12499998985452854","top":"0.5677830941943007","height":"0.010614117556971947","left":"0.13081396507944293","conf":"1","level":"0","block_num":"0","line_num":"0","word_num":"0","text":"public function unsertCompanv(Team Steam): void"},{"left":"0.14244187030197208","top":"0.5993031362104808","line_num":"0","word_num":"0","conf":"0.5","level":"0","par_num":"0","page_num":"0","width":"0.216569758476095","block_num":"0","height":"0.013937280889142922","text":"Sthis->createRequest()->post( url: self::ANALYTICS ENDPOINT. 'companies/identify'."},{"block_num":"0","level":"0","page_num":"0","word_num":"0","conf":"1","height":"0.013937280889143033","left":"0.1540697749372223","line_num":"0","top":"0.6376306623428849","width":"0.12063952709766146","par_num":"0","text":"'metadata' => $this->getCompanyMetadata($team),"},{"left":"0.13081395164613868","conf":"0.30000001192092896","level":"0","line_num":"0","width":"0.15552325958901264","word_num":"0","page_num":"0","text":"orivate function aetComnanvMetadataTeam Steam)• arnav-...;","top":"0.7280701754385965","block_num":"0","height":"0.0071770334928229484","par_num":"0"},{"height":"0.010580774699671891","par_num":"0","line_num":"0","level":"0","conf":"1","left":"0.13081395460677644","text":"public function deleteUser(User $user): void(...}","block_num":"0","page_num":"0","word_num":"0","width":"0.12936045261139564","top":"0.7804878057087528"},{"conf":"1","block_num":"0","left":"0.1308139596393111","height":"0.011164274322169154","level":"0","page_num":"0","par_num":"0","text":"public function deleteCompany(Team $team): void{...}","width":"0.13662788715768368","top":"0.8149920255183413","line_num":"0","word_num":"0"},{"left":"0.13081396617527188","line_num":"0","text":"nublie function chouldPequect(Toam Stoam)• boo1l","top":"0.8500797448165869","page_num":"0","conf":"0.5","word_num":"0","level":"0","block_num":"0","width":"0.12354649888708233","height":"0.0071770334928230595","par_num":"0"},{"width":"0.28052321900712684","word_num":"0","top":"0.8850174217942274","block_num":"0","left":"0.14244189727194292","conf":"1","height":"0.010516868633896892","line_num":"0","page_num":"0","text":"return config( key: 'services.userpilot.key') !== null && $team->qetPartnerId === Partner::PARTNER_DEFAULT:","level":"0","par_num":"0"},{"page_num":"0","word_num":"0","conf":"1","level":"0","top":"0.05574912943857935","par_num":"0","height":"0.010452960286604362","left":"0.5000000038920669","text":"= custom.log","block_num":"0","width":"0.02906976354883073","line_num":"0"},{"block_num":"0","word_num":"0","top":"0.055749129145434506","text":"=laravel.log","par_num":"0","level":"0","left":"0.5363372106937117","page_num":"0","height":"0.010452961047110132","line_num":"0","width":"0.026162789223041938","conf":"1"},{"text":"D0000","page_num":"0","left":"0.49998335111235576","level":"0","block_num":"0","word_num":"0","width":"0.046544927231808975","height":"0.028195629089452834","conf":"0.30000001192092896","line_num":"0","par_num":"0","top":"0.07301019903877215"},{"line_num":"0","height":"0.010452961807616012","block_num":"0","conf":"0.5","left":"0.5712209290126721","par_num":"0","top":"0.055749128834867934","width":"0.04941860665666298","word_num":"0","level":"0","page_num":"0","text":"A SF [jiminny@localhost]"},{"top":"0.05574912943857935","word_num":"0","conf":"1","height":"0.010452960286604362","page_num":"0","par_num":"0","width":"0.062499994927264324","block_num":"0","left":"0.6293604707059081","line_num":"0","level":"0","text":"4 HS_local [jiminny@localhost]"},{"word_num":"0","page_num":"0","height":"0.010452960286604362","left":"0.7005814048527228","top":"0.05574912943857935","block_num":"0","text":"« console (PROD] X 4 console [EU]","line_num":"0","conf":"0.30000001192092896","level":"0","par_num":"0","width":"0.07703487416531174"},{"width":"0.04360464785961393","par_num":"0","block_num":"0","text":"« console [STAGING]","line_num":"0","word_num":"0","top":"0.05574912978701141","height":"0.010452960286604362","conf":"0.5","page_num":"0","left":"0.7848837203393775","level":"0"},{"page_num":"0","top":"0.0797448165869219","conf":"1","word_num":"0","par_num":"0","left":"0.559593025084055","width":"0.017441858636571994","line_num":"0","level":"0","text":"Tx: Auto","block_num":"0","height":"0.011164274322169043"},{"conf":"1","width":"0.01017441774936434","word_num":"0","text":"616","height":"0.010452960286604251","line_num":"0","left":"0.49709302419217827","block_num":"0","level":"0","page_num":"0","par_num":"0","top":"0.2125435545256874"},{"level":"0","height":"0.010452960286604362","page_num":"0","conf":"1","left":"0.4970930232769035","par_num":"0","text":"617","block_num":"0","top":"0.22996515766157577","width":"0.008720929318286053","line_num":"0","word_num":"0"},{"word_num":"0","line_num":"0","width":"0.008720929318286053","level":"0","conf":"1","text":"618","height":"0.010452960286604362","top":"0.2473867604490323","page_num":"0","left":"0.4970930232769035","par_num":"0","block_num":"0"},{"line_num":"0","conf":"1","block_num":"0","height":"0.017421602252187585","par_num":"0","text":"619","width":"0.010174418383456285","word_num":"0","top":"0.2613240422536971","left":"0.49709302319683774","level":"0","page_num":"0"},{"block_num":"0","top":"0.27874564472175756","conf":"1","text":"620","level":"0","width":"0.01017441838345634","word_num":"0","height":"0.017421602252187585","par_num":"0","line_num":"0","page_num":"0","left":"0.49709302330584937"},{"top":"0.29965156881140165","line_num":"0","width":"0.008720929318286053","text":"621","level":"0","page_num":"0","par_num":"0","conf":"1","block_num":"0","height":"0.010452960286604362","word_num":"0","left":"0.4970930232769035"},{"block_num":"0","height":"0.010678025143758596","left":"0.49273255878695776","width":"0.013081394611520913","conf":"0.5","word_num":"0","line_num":"0","page_num":"0","text":"— 622","level":"0","par_num":"0","top":"0.31707317094542975"},{"par_num":"0","height":"0.010452960286604251","left":"0.4970930232769035","page_num":"0","conf":"1","block_num":"0","level":"0","line_num":"0","text":"623","width":"0.008720929318286053","top":"0.3344947743863146","word_num":"0"},{"width":"0.013081394611520913","text":"— 624","top":"0.3516746410873789","conf":"1","left":"0.49273255878695776","height":"0.010694696952661675","word_num":"0","par_num":"0","level":"0","line_num":"0","page_num":"0","block_num":"0"},{"height":"0.017421602252187474","word_num":"0","level":"0","line_num":"0","conf":"1","width":"0.008720929952377943","text":"625","block_num":"0","top":"0.36585365863000385","left":"0.49854651170985753","par_num":"0","page_num":"0"},{"page_num":"0","word_num":"0","left":"0.49709302331190564","line_num":"0","top":"0.3797909411305902","width":"0.01017441838345623","conf":"1","par_num":"0","block_num":"0","height":"0.020905922094220264","text":"626","level":"0"},{"left":"0.4906697487124045","word_num":"0","height":"0.49179286439643133","par_num":"0","block_num":"0","level":"0","top":"0.4005097560450319","width":"0.01842738846515085","text":"8388383388888888338883933833","page_num":"0","line_num":"0","conf":"0.30000001192092896"},{"text":"SELECT * FROM com profiles co JOIN users u 1..n<->1: on u,id = co.user id WHERE u.team id = 711:","top":"0.12195122037934591","word_num":"0","left":"0.518895375177938","conf":"0.5","width":"0.24709299777416482","block_num":"0","page_num":"0","height":"0.010452960286604362","line_num":"0","level":"0","par_num":"0"},{"width":"0.0523255733733482","height":"0.007185368636768663","level":"0","line_num":"0","word_num":"0","text":"select * from leads:","conf":"0.5","left":"0.5188953568249609","par_num":"0","page_num":"0","top":"0.1602787460943993","block_num":"0"},{"conf":"0.30000001192092896","left":"0.5188953491320409","block_num":"0","height":"0.006968641205077342","width":"0.0625","word_num":"0","line_num":"0","text":"sellect * From callendars.","par_num":"0","top":"0.19512195116636177","page_num":"0","level":"0"},{"height":"0.006968641205077342","par_num":"0","top":"0.22996515671770212","word_num":"0","conf":"1","block_num":"0","line_num":"0","width":"0.0159883714736776","page_num":"0","text":"SELECT","left":"0.5188953490742076","level":"0"},{"left":"0.5290697714010453","conf":"1","width":"0.042151159428535534","word_num":"0","block_num":"0","par_num":"0","height":"0.010630789365874915","level":"0","top":"0.24720893130553712","page_num":"0","text":"t.id AS team_id,","line_num":"0"},{"par_num":"0","conf":"0.30000001192092896","block_num":"0","top":"0.2647527910685805","level":"0","line_num":"0","width":"0.01889534706765028","page_num":"0","height":"0.0071770334928229484","word_num":"0","text":"+. name.","left":"0.5290697692524731"},{"word_num":"0","left":"0.5290697976420489","level":"0","block_num":"0","text":"LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain","top":"0.2822299656755132","line_num":"0","height":"0.010452960286604362","page_num":"0","width":"0.19331392328789898","par_num":"0","conf":"1"},{"level":"0","text":"EROM teams +","word_num":"0","line_num":"0","block_num":"0","top":"0.2996515679800238","height":"0.007365975843852457","left":"0.5188953497513865","par_num":"0","width":"0.03197674294735531","conf":"0.30000001192092896","page_num":"0"},{"block_num":"0","page_num":"0","top":"0.3133971291866029","line_num":"0","par_num":"0","conf":"0.5","left":"0.5188953609860134","word_num":"0","level":"0","text":"JOIN users u 1<-›1.n: ON u.team_id = t.id","height":"0.014354066985645897","width":"0.10755812868158876"},{"line_num":"0","left":"0.5188953741094144","page_num":"0","height":"0.011164274322169154","text":"JOIN calendars c ON c.user_id = v.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%0%'","block_num":"0","width":"0.25436044246592415","level":"0","par_num":"0","word_num":"0","top":"0.3341307814992025","conf":"1"},{"conf":"1","par_num":"0","text":"LEFT JOIN team domains td","height":"0.010694696952661675","width":"0.0654069717894209","block_num":"0","left":"0.5188953500114533","page_num":"0","level":"0","top":"0.3516746410002709","line_num":"0","word_num":"0"},{"page_num":"0","height":"0.010572439555726398","left":"0.5290697731713163","line_num":"0","conf":"0.5","par_num":"0","block_num":"0","level":"0","text":"ON td.team id = t.id","top":"0.36921850065570416","width":"0.05377906434079427","word_num":"0"},{"text":"AND td.deleted_ at IS NULL","block_num":"0","width":"0.0668604576841314","height":"0.010452960286604362","par_num":"0","top":"0.38675958274868383","page_num":"0","level":"0","word_num":"0","conf":"1","left":"0.5276162797662097","line_num":"0"},{"block_num":"0","width":"0.1845929977741646","level":"0","line_num":"0","top":"0.4041811847070754","word_num":"0","conf":"1","left":"0.5290697924741267","par_num":"0","page_num":"0","text":"AND td.domain = LOWER(SUBSTRING INDEX(c.calendar provider id, '@'. -1))","height":"0.010491861681048431"},{"line_num":"0","width":"0.09883720316785449","text":"GROUP BY t.id, t.name, calendar domain","left":"0.5188953499868194","par_num":"0","top":"0.4216027876942583","word_num":"0","block_num":"0","height":"0.010614118317477717","level":"0","conf":"1","page_num":"0"},{"left":"0.5188953580005483","line_num":"0","page_num":"0","conf":"1","text":"ORDER BY t.name, calendar domain:","width":"0.08575580475178168","word_num":"0","par_num":"0","top":"0.4390243905072253","height":"0.010736374953907224","level":"0","block_num":"0"},{"level":"0","word_num":"0","conf":"1","block_num":"0","par_num":"0","height":"0.010636346382007278","page_num":"0","text":"select * from users u join calendars c 1<->1..n: on c.user id = u.id","top":"0.4736842104693668","width":"0.17441859143845584","left":"0.5188953619904666","line_num":"0"},{"word_num":"0","conf":"1","page_num":"0","level":"0","block_num":"0","height":"0.010514089745577881","par_num":"0","line_num":"0","text":"where u.team id = 882","top":"0.4912280701800871","width":"0.056686041202950954","left":"0.5188953487662015"},{"height":"0.013937280889143033","text":"select * from activities where id = 74049485; # team 563 crm 537","page_num":"0","conf":"1","block_num":"0","left":"0.5188953645617453","level":"0","top":"0.5435540072906201","par_num":"0","width":"0.16715114674669618","line_num":"0","word_num":"0"},{"par_num":"0","conf":"0.5","left":"0.5188953539778891","text":"select * from activities where 1d = 75212582: # team 563 crm 53","block_num":"0","page_num":"0","level":"0","top":"0.5644599301598978","width":"0.16715115689216786","height":"0.0073104049220229506","line_num":"0","word_num":"0"},{"width":"0.16715115689216775","word_num":"0","page_num":"0","conf":"1","height":"0.014354066985645897","left":"0.518895354416274","block_num":"0","level":"0","par_num":"0","top":"0.5781499202551834","text":"select * from activities where id = 64400389; # team 563 crm 537","line_num":"0"},{"left":"0.5188953524750721","level":"0","width":"0.03488371727314399","text":"select * From","word_num":"0","block_num":"0","top":"0.5993031362237073","height":"0.006968640444571461","page_num":"0","line_num":"0","par_num":"0","conf":"0.30000001192092896"},{"height":"0.006968641205077342","page_num":"0","block_num":"0","par_num":"0","text":"activitles where 1d = 58081275: # Team 563 crm 557","left":"0.5552325574916249","level":"0","word_num":"0","top":"0.5993031358395394","conf":"0.30000001192092896","width":"0.13081395372431337","line_num":"0"},{"conf":"1","text":"select * from activities where id = 54520297; # team 563 crm 537","top":"0.6132376398008754","word_num":"0","line_num":"0","width":"0.16715115689216775","left":"0.518895354416274","level":"0","block_num":"0","height":"0.013940059777462155","page_num":"0","par_num":"0"},{"text":"select * from narticinants where activitv 1d = 580812735","word_num":"0","width":"0.14534883296236079","block_num":"0","level":"0","page_num":"0","height":"0.0071770334928229484","left":"0.5188953529372425","top":"0.6339712918660287","line_num":"0","conf":"0.5","par_num":"0"},{"block_num":"0","page_num":"0","level":"0","top":"0.6689895474381173","left":"0.5188953650989623","par_num":"0","text":"select * from activities where crm_configuration_id = 537 and provider = 'aircall","word_num":"0","width":"0.21220927542828494","line_num":"0","conf":"1","height":"0.010452961047110243"},{"conf":"1","left":"0.5188953639766374","top":"0.6864111502543853","par_num":"0","width":"0.1337209153682627","height":"0.010558546635142552","page_num":"0","line_num":"0","level":"0","text":"and account_id = 19003658 order by updated_at desc;","word_num":"0","block_num":"0"},{"height":"0.011164274322169154","line_num":"0","block_num":"0","par_num":"0","conf":"1","left":"0.5188953601148749","text":"select * from contacts where crm_configuration_id = 537 and id = 35957759;|","page_num":"0","width":"0.1933139435788418","word_num":"0","top":"0.7208931419457735","level":"0"},{"line_num":"0","block_num":"0","par_num":"0","text":"select * from accounts where crm_configuration id = 537 and id = 19003658:","page_num":"0","conf":"0.5","height":"0.010691918064342554","left":"0.5188953361557554","level":"0","top":"0.7384370015213745","width":"0.19186046275686708","word_num":"0"},{"height":"0.010452960286604362","par_num":"0","conf":"1","level":"0","word_num":"0","block_num":"0","line_num":"0","page_num":"0","left":"0.5188953657488102","text":"select * from automated_report results where id = 1976;","top":"0.7735191642817849","width":"0.14389533184944325"},{"word_num":"0","height":"0.014354066985645897","page_num":"0","block_num":"0","conf":"1","left":"0.5188953500594784","line_num":"0","text":"select * from automated reports where id = 583:","width":"0.12209301806510764","par_num":"0","top":"0.7870813397129187","level":"0"},{"block_num":"0","page_num":"0","par_num":"0","top":"0.8083623699686198","width":"0.1279069717894209","word_num":"0","conf":"1","height":"0.010616896445291069","left":"0.5188953428003538","level":"0","line_num":"0","text":"select * from activity searches where id = 87714;"},{"conf":"1","height":"0.017552194793068354","level":"0","line_num":"0","par_num":"0","page_num":"0","text":"select * from activity_search_filters where activity_search_id = 87714;","width":"0.1875","block_num":"0","word_num":"0","left":"0.5188953505696625","top":"0.8221690591125324"},{"line_num":"0","left":"0.5188953797795492","conf":"1","top":"0.8604465710775784","block_num":"0","text":"SELECT * FROM activities WHERE uuid to_bin('8827f672-202d-4162-9d04-73ff5f0566a9') = uuid","word_num":"0","height":"0.010633567493688156","width":"0.23255810839064595","par_num":"0","page_num":"0","level":"0"},{"top":"0.8779904306140827","text":"or uuid to bin(•47842446-af51-4bcb-854f-cc6560290101') = uuid:","height":"0.01051131085725876","word_num":"0","par_num":"0","block_num":"0","conf":"1","level":"0","left":"0.5188953650381898","page_num":"0","width":"0.16133719302238303","line_num":"0"},{"conf":"0.30000001192092896","height":"0.006968640444571461","level":"0","page_num":"0","left":"0.9113372091917828","line_num":"0","width":"0.02034883549872868","par_num":"0","word_num":"0","block_num":"0","text":"100% S2","top":"0.006968641450188162"},{"height":"0.01074748898617195","text":"Mon 27 Apr 18:41:34","left":"0.9476744221943781","level":"0","width":"0.04651162472177062","word_num":"0","line_num":"0","block_num":"0","conf":"1","page_num":"0","par_num":"0","top":"0.0031897926052030234"},{"page_num":"0","line_num":"0","word_num":"0","width":"0.02470930079196354","block_num":"0","left":"0.9607558159405555","text":"So jiminny","par_num":"0","height":"0.011164274322169043","top":"0.0797448165869219","level":"0","conf":"0.30000001192092896"},{"left":"0.9156976830124417","block_num":"0","conf":"0.30000001192092896","level":"0","par_num":"0","page_num":"0","text":"m 037 A1 A35 Y63 ^ V","width":"0.07122092044099848","line_num":"0","height":"0.01059744650857497","top":"0.10104529661439754","word_num":"0"},{"conf":"1","block_num":"0","line_num":"0","page_num":"0","par_num":"0","level":"0","word_num":"0","top":"0.986062718234409","left":"0.8982558212160039","height":"0.01074748898617195","text":"W Windsurf Teams 641:1 UTF-8","width":"0.07267441140844466"},{"block_num":"0","conf":"0.30000001192092896","height":"0.006968640444571572","page_num":"0","text":"Aensod","level":"0","width":"0.018895347067650392","word_num":"0","line_num":"0","top":"0.9860627181052405","left":"0.9752906995039653","par_num":"0"}]...
|
PhpStorm
|
AppleNative
|
faVsco.js – console [PROD]
|
1
|
3659
|
NULL
|
NULL
|
|
89138
|
PhpStormFV faVsco.jsVIeWINavigarecode#11998 on JY- PhpStormFV faVsco.jsVIeWINavigarecode#11998 on JY-20372-ai-reports-promotion-pProletey> app ~/jiminny/app>1h External Libraries), E® Scratches and Consolesv _ Database Consoles> AEUAjiminny@localhostV APRODA console [PROD]# console_1 [PROD]A DI [PROD]> AQA> A QAI PRODA STAGING> D Extensions> D Scratches© ConvertLeadActivities.phpCh Autor© UserPilotClient.php x© CreateNudgeCreatedEvent.php© Salesforce/Service.phgOpportunitysynclrait.php© VerifyActivityCrmTaskJob.ph/© DeleteCrmEntityTrait.php© DeleteAccountJob.phpPlaybackController.phpphp api.php(C) InteqrationApp/Service.phoC) LeadConverted.php(C) CreateSelfCoachedEvent.pho(C) PlanhatActivityListener.pho(C) AskAnvthingPromptService.php(C)AutomatedReportsRenositorv.ohdC) AutomatedReportsCommand.ohvphp api_v2.php(C) RequestGenerateReport.Job.ohd© AutomatedReportResult.php© AutomatedReport.phpclass UserPilotClientprivate function createRequest(): PendingRequest'Authorization' => 'Token ' . config( key: 'services.userpilot.key'),1):public function track(User $user, string $event, array $payload = [1): voidif (Sthis->shouldRequest($user-›getTeam()) === false) {Sthis->createRequest() ->post( url: self::ANALYTICS_ENDPOINT . 'track', ['user 1d' => Suser->getluido.$0UAutomatedReportsRepositoryTestv100% S2Mon 27 Apr 18:41:52+0 ..nubuic function unsertusertusen suser: void...?public function upsertCompany(Team $team): voidSthis-›createRequest() -›post ( url: self: :ANALYTICS_ENDPOINT • 'companies/identify', ["comnanv id' => Steam->aetlurdo.'metadata' => $this-›getCompanyMetadata($team),private function getCompanyMetadata(Team $team): arrayf….,public function deleteUser(User $user): voidf..,public function deleteCompany(Team Steam): voidf...}pubuac function shouldRequestTeam Steam: 0001return config( key: 'services.userpilot.key') |== null && $team->getPartnerId() === Partner:E custom.logE laravel.log0000- -644645h à & ã ãã4 SF [iminny@localhost)A HS_Jocal (jiminny@localhost]Tx: Auto vSELECT * FROM crm_profiles cp JOIN users u 1..n<->1: on u.id = cp.user_id WHERE U.team_id = 711;select * from leads.sellect * from callendans.SELECT+id AS team idiEROM teams +1JOIN users u 1<->1.n: ON u.team_id = t.idJOIN calendars c ON c.user_id = v.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%0%LEFT JOIN team_domains tdON +d toam id = + idAND td.deleted_at IS NULLORDER BY t.name, calendar_domain;where u.team_id = 882;select * from activities where id = 74049485; # team 563 crm 537select * from activities whereid = 73272382; # team 563 crm 537select * from activities where id = 64400389; # team 563 crm 537select * From activitles where= 58081275: # Team 563 crmi537select * from activities where id = 54520297; # team 563 crm 537select * from narticinants where activitv 1d = 58081273÷select * from activities where crm_configuration_id = 537 and provider = 'aircall'and account_id = 19003658 order by updated_at desc;select * from contacts where crm_configuration_id = 537 and id = 35957759;celect * fnom accounte whene eom confiaunation id = 537 and id - 10003459-select * from automated_report_results where id = 1976;select * from automated_reports where id = 583;select * from activity_searches where id = 87714;select * from activity_search_filters where activity_search_id = 87714;SELECT * FROM activities WHERE uvid_to_bin(^8827f672-202d-4162-9d04-73ff5f0566a9') = uuidor uuid to_ bin( 47842446-af51-4bcb-854f-cc65602901019) = uuidA console (EU]A console [STAGING]oajiminnyCascadeNew CascadeWCascade Code *aKick off a new project. Make changesacross your entire codebaseUndo12mnSiter tamatoroonar octullAsk anvthina (*4Les codoPaste and Match StvleSelect AllOnen DevToolsNN Windeurf Toame 6A141UTE.94 spaces...
|
[{"line_num":"0","block_num [{"line_num":"0","block_num":"0","level":"0","text":"PhpStorm","par_num":"0","top":"0.003484321424642056","width":"0.023255812360885295","page_num":"0","height":"0.010452960286604362","left":"0.015988371726534216","conf":"1","word_num":"0"},{"block_num":"0","height":"0.010452960286604362","line_num":"0","text":"FV faVsco.js","page_num":"0","width":"0.029069763548830722","top":"0.02787456497864904","level":"0","conf":"0.5","left":"0.030523259704860126","word_num":"0","par_num":"0"},{"conf":"0.30000001192092896","text":"VIeW","top":"0.006968641450188162","width":"0.011627906180442654","word_num":"0","level":"0","left":"0.07267441842140664","par_num":"0","height":"0.006968640444571461","line_num":"0","page_num":"0","block_num":"0"},{"level":"0","text":"INavigare","block_num":"0","line_num":"0","width":"0.018895347067650323","left":"0.09011627900977959","top":"0.006968641450188162","word_num":"0","par_num":"0","page_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461"},{"page_num":"0","block_num":"0","height":"0.006968641205077342","left":"0.11482558108673323","level":"0","line_num":"0","text":"code","width":"0.011627907448626587","word_num":"0","top":"0.006968641026381173","par_num":"0","conf":"0.30000001192092896"},{"block_num":"0","word_num":"0","page_num":"0","par_num":"0","line_num":"0","conf":"1","height":"0.017421602252187585","top":"0.024390243879713447","level":"0","left":"0.0683139568064589","text":"#11998 on JY-20372-ai-reports-promotion-p","width":"0.09302324944354119"},{"text":"Proletey","width":"0.020348836766912577","word_num":"0","par_num":"0","line_num":"0","top":"0.05923344944238418","page_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.014534883869450689","height":"0.003484320602538671","level":"0"},{"top":"0.07655502392344493","word_num":"0","text":"> app ~/jiminny/app","width":"0.05377906941353006","level":"0","height":"0.014354066985646008","block_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","left":"0.014534884493508279","par_num":"0"},{"block_num":"0","conf":"0.30000001192092896","left":"0.014534891858478397","line_num":"0","height":"0.007240940319103828","par_num":"0","text":">1h External Libraries)","width":"0.049418596511191515","level":"0","word_num":"0","page_num":"0","top":"0.09728867614662373"},{"text":", E® Scratches and Consoles","top":"0.10765550216778141","width":"0.062499994927264275","block_num":"0","par_num":"0","level":"0","conf":"0.30000001192092896","height":"0.01778003777803605","page_num":"0","word_num":"0","line_num":"0","left":"0.017441865530708096"},{"word_num":"0","height":"0.0071770334928229484","conf":"0.30000001192092896","line_num":"0","par_num":"0","text":"v _ Database Consoles","top":"0.13237639553429026","width":"0.05377906434079434","block_num":"0","level":"0","left":"0.020348842871382628","page_num":"0"},{"line_num":"0","text":"> AEU","conf":"0.30000001192092896","block_num":"0","left":"0.027616279630109593","height":"0.013945617554100287","par_num":"0","top":"0.14634146365819534","level":"0","width":"0.02034883676691258","word_num":"0","page_num":"0"},{"word_num":"0","conf":"1","height":"0.017421602252187474","line_num":"0","level":"0","page_num":"0","top":"0.16376306664394114","block_num":"0","width":"0.047965115689216783","left":"0.031976743681554426","par_num":"0","text":"Ajiminny@localhost"},{"par_num":"0","left":"0.02761628107204132","line_num":"0","top":"0.1846689898822439","width":"0.02470930079196362","level":"0","conf":"0.30000001192092896","text":"V APROD","height":"0.006968640444571461","page_num":"0","block_num":"0","word_num":"0"},{"top":"0.1985645933014354","block_num":"0","line_num":"0","level":"0","width":"0.04069767353382517","word_num":"0","left":"0.040697675685636245","conf":"1","page_num":"0","height":"0.014354066985646008","par_num":"0","text":"A console [PROD]"},{"top":"0.21602787445113636","height":"0.013937282410154683","level":"0","block_num":"0","text":"# console_1 [PROD]","left":"0.0392441865928624","word_num":"0","par_num":"0","conf":"0.5","width":"0.045058138827060126","line_num":"0","page_num":"0"},{"block_num":"0","height":"0.01887402009735839","text":"A DI [PROD]","left":"0.040624916139650406","level":"0","conf":"0.30000001192092896","page_num":"0","word_num":"0","par_num":"0","top":"0.23272326867842053","width":"0.029215285118590013","line_num":"0"},{"line_num":"0","height":"0.010452960286604362","conf":"0.30000001192092896","level":"0","par_num":"0","text":"> AQA","block_num":"0","top":"0.25435540121558287","word_num":"0","page_num":"0","width":"0.01889534706765033","left":"0.027616280899314276"},{"left":"0.02761628017231042","par_num":"0","top":"0.28548644309059557","text":"> A QAI PROD","level":"0","conf":"0.30000001192092896","block_num":"0","width":"0.036337208240590196","word_num":"0","line_num":"0","height":"0.01764944523715517","page_num":"0"},{"word_num":"0","block_num":"0","text":"A STAGING","width":"0.027616277654120266","height":"0.01754385964912286","conf":"0.5","left":"0.033430233969918705","page_num":"0","par_num":"0","top":"0.303030303030303","level":"0","line_num":"0"},{"line_num":"0","height":"0.01756053145802572","block_num":"0","width":"0.037790696671668525","word_num":"0","conf":"0.30000001192092896","par_num":"0","level":"0","text":"> D Extensions","left":"0.020348838232048385","page_num":"0","top":"0.32055749113793275"},{"block_num":"0","level":"0","page_num":"0","text":"> D Scratches","top":"0.33744050846609985","conf":"0.30000001192092896","height":"0.018498773590039264","left":"0.020305242632281863","line_num":"0","par_num":"0","width":"0.03642440095860906","word_num":"0"},{"page_num":"0","par_num":"0","top":"0.07626819001929064","left":"0.10303517871780839","text":"© ConvertLeadActivities.php","word_num":"0","conf":"1","block_num":"0","line_num":"0","width":"0.05846340605553159","level":"0","height":"0.018292040726024306"},{"word_num":"0","level":"0","page_num":"0","par_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.10319767629793683","line_num":"0","top":"0.1044657097288676","text":"Ch Autor","width":"0.01598837020549368","height":"0.0071770334928229484"},{"left":"0.265988376457934","block_num":"0","line_num":"0","page_num":"0","par_num":"0","conf":"1","width":"0.050872087478637695","text":"© UserPilotClient.php x","word_num":"0","height":"0.017421602252187585","level":"0","top":"0.05226480845578774"},{"text":"© CreateNudgeCreatedEvent.php","width":"0.06686046275686708","top":"0.07655502392344493","conf":"1","level":"0","par_num":"0","word_num":"0","height":"0.01754385964912286","page_num":"0","line_num":"0","left":"0.22238372130321044","block_num":"0"},{"text":"© Salesforce/Service.phg","height":"0.010633567493688156","level":"0","line_num":"0","left":"0.10174418650392082","page_num":"0","width":"0.05087208747863771","word_num":"0","conf":"1","block_num":"0","top":"0.12891986142873346","par_num":"0"},{"block_num":"0","conf":"0.5","left":"0.24854651711654752","width":"0.056686041202950954","text":"Opportunitysynclrait.php","height":"0.006968640444571461","page_num":"0","par_num":"0","word_num":"0","line_num":"0","top":"0.13240418151987454","level":"0"},{"block_num":"0","level":"0","conf":"1","left":"0.10174419359662988","line_num":"0","top":"0.15311004775481918","width":"0.06395348082197473","par_num":"0","page_num":"0","height":"0.010653018190910135","word_num":"0","text":"© VerifyActivityCrmTaskJob.ph/"},{"par_num":"0","word_num":"0","width":"0.05668604627568674","page_num":"0","level":"0","conf":"0.5","line_num":"0","left":"0.31395348943483103","text":"© DeleteCrmEntityTrait.php","top":"0.12519936202646664","height":"0.017657780381100885","block_num":"0"},{"word_num":"0","conf":"1","block_num":"0","par_num":"0","level":"0","top":"0.14982578384343948","text":"© DeleteAccountJob.php","height":"0.017638331204890445","line_num":"0","page_num":"0","width":"0.05087209255137343","left":"0.29360465203463304"},{"top":"0.17770034929920653","height":"0.010452960286604362","block_num":"0","conf":"0.5","line_num":"0","text":"PlaybackController.php","level":"0","par_num":"0","page_num":"0","left":"0.10174419013742292","width":"0.052325578446083876","word_num":"0"},{"height":"0.0071770334928229484","block_num":"0","left":"0.1613372112072035","level":"0","page_num":"0","line_num":"0","par_num":"0","text":"php api.php","top":"0.18102073365231264","conf":"0.5","word_num":"0","width":"0.02325581236088531"},{"page_num":"0","width":"0.05959301806510764","text":"(C) InteqrationApp/Service.pho","top":"0.18102073365231264","left":"0.19186047067240358","level":"0","block_num":"0","conf":"0.5","par_num":"0","height":"0.0071770334928229484","word_num":"0","line_num":"0"},{"text":"C) LeadConverted.php","word_num":"0","par_num":"0","width":"0.04505813375432438","level":"0","left":"0.2587209315072932","conf":"1","top":"0.18102073365231264","page_num":"0","block_num":"0","line_num":"0","height":"0.0071770334928229484"},{"height":"0.007343747018817126","level":"0","line_num":"0","par_num":"0","text":"(C) CreateSelfCoachedEvent.pho","top":"0.20557491325434107","width":"0.06395348082197473","conf":"0.5","block_num":"0","word_num":"0","page_num":"0","left":"0.10174419359662988"},{"height":"0.007343747018817126","word_num":"0","page_num":"0","level":"0","top":"0.20557491325434107","par_num":"0","block_num":"0","width":"0.05813952709766146","conf":"1","left":"0.17441861243722223","line_num":"0","text":"(C) PlanhatActivityListener.pho"},{"left":"0.24127907554896272","page_num":"0","level":"0","block_num":"0","width":"0.06831394865157758","word_num":"0","top":"0.20557491325434107","line_num":"0","conf":"0.5","height":"0.007343747018817126","par_num":"0","text":"(C) AskAnvthingPromptService.php"},{"top":"0.22996515712963062","width":"0.07122092551373421","height":"0.006968640444571461","page_num":"0","conf":"0.5","text":"(C)AutomatedReportsRenositorv.ohd","left":"0.10174418484487743","par_num":"0","word_num":"0","level":"0","block_num":"0","line_num":"0"},{"par_num":"0","text":"C) AutomatedReportsCommand.ohv","top":"0.22966507158551952","width":"0.07122092551373421","word_num":"0","height":"0.007268726160271521","left":"0.18168605249485353","block_num":"0","conf":"0.5","line_num":"0","level":"0","page_num":"0"},{"text":"php api_v2.php","level":"0","left":"0.2601744199020685","top":"0.22647527927977185","page_num":"0","line_num":"0","width":"0.03052325451627691","conf":"1","par_num":"0","block_num":"0","height":"0.013942838665781276","word_num":"0"},{"word_num":"0","conf":"0.5","page_num":"0","height":"0.007268726160271521","par_num":"0","top":"0.22966507158551952","width":"0.06831394865157758","block_num":"0","line_num":"0","left":"0.29651162690599014","level":"0","text":"(C) RequestGenerateReport.Job.ohd"},{"conf":"1","top":"0.25087107993313407","text":"© AutomatedReportResult.php","height":"0.013937282410154683","par_num":"0","width":"0.062499999999999986","word_num":"0","line_num":"0","block_num":"0","left":"0.10174418708817824","level":"0","page_num":"0"},{"par_num":"0","height":"0.013937282410154683","page_num":"0","word_num":"0","top":"0.25087107993313407","left":"0.17151162899078612","line_num":"0","conf":"1","level":"0","block_num":"0","width":"0.0508720925513734","text":"© AutomatedReport.php"},{"word_num":"0","top":"0.2717770037782289","par_num":"0","page_num":"0","width":"0.05813953217039716","block_num":"0","level":"0","height":"0.017696680254533192","left":"0.12063953759702747","line_num":"0","conf":"1","text":"class UserPilotClient"},{"line_num":"0","height":"0.01781893765146836","par_num":"0","level":"0","block_num":"0","page_num":"0","left":"0.13081395844300386","top":"0.28919860629805094","text":"private function createRequest(): PendingRequest","word_num":"0","conf":"1","width":"0.1279069717894209"},{"top":"0.30662020950108393","line_num":"0","block_num":"0","page_num":"0","word_num":"0","left":"0.15406976533645306","conf":"1","text":"'Authorization' => 'Token ' . config( key: 'services.userpilot.key'),","height":"0.017421602252187585","width":"0.17587209255137343","level":"0","par_num":"0"},{"line_num":"0","text":"1):","conf":"0.30000001192092896","level":"0","block_num":"0","page_num":"0","left":"0.14244186071421797","height":"0.017421602252187585","par_num":"0","top":"0.32404181198366233","width":"0.00872092995237797","word_num":"0"},{"text":"public function track(User $user, string $event, array $payload = [1): void","width":"0.19912788715768365","word_num":"0","conf":"1","level":"0","top":"0.37630662041817253","page_num":"0","height":"0.017632773428252202","block_num":"0","left":"0.1308139727175796","line_num":"0","par_num":"0"},{"word_num":"0","line_num":"0","height":"0.017421602252187585","left":"0.14244186052001828","conf":"0.5","par_num":"0","block_num":"0","level":"0","page_num":"0","text":"if (Sthis->shouldRequest($user-›getTeam()) === false) {","top":"0.41114982622582263","width":"0.14534883296236079"},{"block_num":"0","par_num":"0","width":"0.18459301806510764","text":"Sthis->createRequest() ->post( url: self::ANALYTICS_ENDPOINT . 'track', [","conf":"0.5","line_num":"0","page_num":"0","height":"0.017568866601971322","left":"0.14244186839021772","top":"0.4808362370000441","word_num":"0","level":"0"},{"height":"0.00728817609698762","text":"'user 1d' => Suser->getluido.","width":"0.0770348741653118","conf":"0.30000001192092896","line_num":"0","word_num":"0","left":"0.15406977699746666","top":"0.5223285484687972","page_num":"0","block_num":"0","level":"0","par_num":"0"},{"level":"0","conf":"0.30000001192092896","par_num":"0","block_num":"0","word_num":"0","line_num":"0","text":"$0","width":"0.014534883042599311","left":"0.8575581397287004","page_num":"0","height":"0.017421602252187474","top":"0.00000000004986444590571182"},{"conf":"0.5","height":"0.017421602252187585","left":"0.8357558149594646","par_num":"0","level":"0","text":"UAutomatedReportsRepositoryTestv","block_num":"0","page_num":"0","top":"0.024390243879713447","line_num":"0","width":"0.07703487923804753","word_num":"0"},{"height":"0.006968640444571461","left":"0.9113372091917828","line_num":"0","page_num":"0","top":"0.006968641450188162","width":"0.02034883549872868","word_num":"0","level":"0","par_num":"0","conf":"0.30000001192092896","block_num":"0","text":"100% S2"},{"word_num":"0","line_num":"0","height":"0.01754385964912286","block_num":"0","text":"Mon 27 Apr 18:41:52","level":"0","page_num":"0","conf":"1","left":"0.9462209332984863","top":"0","par_num":"0","width":"0.0494186015839273"},{"width":"0.020348834230544677","left":"0.965116281891486","word_num":"0","height":"0.011164274322169043","block_num":"0","page_num":"0","top":"0.0797448165869219","text":"+0 ..","level":"0","line_num":"0","conf":"0.30000001192092896","par_num":"0"},{"block_num":"0","text":"nubuic function unsertusertusen suser: void...?","line_num":"0","level":"0","left":"0.1308139556947082","top":"0.6097560975119688","width":"0.1293604627568671","word_num":"0","page_num":"0","conf":"0.30000001192092896","par_num":"0","height":"0.006968641205077342"},{"width":"0.12354650903255382","conf":"1","block_num":"0","par_num":"0","level":"0","text":"public function upsertCompany(Team $team): void","top":"0.6411149831379974","height":"0.017577201745916926","line_num":"0","word_num":"0","left":"0.1322674431021319","page_num":"0"},{"conf":"0.5","text":"Sthis-›createRequest() -›post ( url: self: :ANALYTICS_ENDPOINT • 'companies/identify', [","height":"0.02113098619086895","par_num":"0","level":"0","line_num":"0","top":"0.6722488040275004","width":"0.21802325958901264","word_num":"0","left":"0.14244185751772626","page_num":"0","block_num":"0"},{"conf":"0.30000001192092896","left":"0.1540697751956259","line_num":"0","top":"0.6968641119944301","page_num":"0","height":"0.007282618320349488","width":"0.08430231885707126","par_num":"0","block_num":"0","level":"0","text":"\"comnanv id' => Steam->aetlurdo.","word_num":"0"},{"level":"0","text":"'metadata' => $this-›getCompanyMetadata($team),","page_num":"0","left":"0.15406977263256674","block_num":"0","height":"0.014354066985645897","top":"0.7105263157894737","line_num":"0","par_num":"0","conf":"1","word_num":"0","width":"0.12209301806510761"},{"word_num":"0","conf":"1","line_num":"0","width":"0.15697674041098736","block_num":"0","height":"0.017421602252187474","left":"0.1308139528775933","level":"0","page_num":"0","par_num":"0","text":"private function getCompanyMetadata(Team $team): arrayf….,","top":"0.7979094081073557"},{"level":"0","width":"0.13081395372431326","height":"0.01754385964912286","block_num":"0","par_num":"0","page_num":"0","line_num":"0","conf":"1","word_num":"0","left":"0.130813954756556","text":"public function deleteUser(User $user): voidf..,","top":"0.8500797448165869"},{"left":"0.1308139527063349","par_num":"0","text":"public function deleteCompany(Team Steam): voidf...}","width":"0.13808139841607275","word_num":"0","page_num":"0","conf":"1","block_num":"0","height":"0.01769390136621407","level":"0","top":"0.8850174220583362","line_num":"0"},{"page_num":"0","height":"0.0071770334928229484","block_num":"0","par_num":"0","conf":"0.5","left":"0.130813955936262","level":"0","top":"0.9266347687400319","width":"0.12354650903255382","text":"pubuac function shouldRequestTeam Steam: 0001","line_num":"0","word_num":"0"},{"height":"0.017579980634236048","left":"0.14244188118923254","level":"0","line_num":"0","par_num":"0","top":"0.9545454544933559","width":"0.23837207226043053","text":"return config( key: 'services.userpilot.key') |== null && $team->getPartnerId() === Partner:","block_num":"0","conf":"1","page_num":"0","word_num":"0"},{"line_num":"0","text":"E custom.log","height":"0.017421602252187585","block_num":"0","conf":"0.5","left":"0.38081395478552654","level":"0","word_num":"0","top":"0.052264808499341786","width":"0.03052325451627691","par_num":"0","page_num":"0"},{"level":"0","page_num":"0","line_num":"0","conf":"0.5","height":"0.017421602252187585","block_num":"0","text":"E laravel.log","par_num":"0","left":"0.4186046525780837","top":"0.052264808499341786","width":"0.02761627765412028","word_num":"0"},{"width":"0.036337208240590224","level":"0","word_num":"0","block_num":"0","line_num":"0","top":"0.0731707315271275","par_num":"0","page_num":"0","text":"0000","left":"0.4011627906229219","conf":"0.30000001192092896","height":"0.027874564820309367"},{"conf":"0.30000001192092896","line_num":"0","block_num":"0","par_num":"0","word_num":"0","left":"0.3735465122364527","text":"- 626","top":"0.37958532679300583","width":"0.0159883714736776","level":"0","page_num":"0","height":"0.02111153701465851"},{"text":"630","par_num":"0","word_num":"0","height":"0.017421602252187585","conf":"1","line_num":"0","level":"0","top":"0.45296167256728603","page_num":"0","width":"0.010174418383456285","block_num":"0","left":"0.37936046539645013"},{"height":"0.017421602252187585","top":"0.47038327535474245","word_num":"0","width":"0.013081394611520969","conf":"0.30000001192092896","left":"0.3764534889587744","line_num":"0","level":"0","page_num":"0","par_num":"0","text":"631","block_num":"0"},{"level":"0","line_num":"0","block_num":"0","par_num":"0","word_num":"0","width":"0.010174418383456285","page_num":"0","height":"0.017421602252187585","left":"0.37936046505730286","conf":"1","top":"0.4878048784906309","text":"632"},{"height":"0.010452961047110132","par_num":"0","top":"0.5087108015321941","width":"0.008720929952377943","level":"0","text":"633","word_num":"0","left":"0.3793604652079195","block_num":"0","line_num":"0","page_num":"0","conf":"1"},{"text":"635","level":"0","top":"0.5400696864610143","width":"0.008720929952377943","word_num":"0","page_num":"0","block_num":"0","conf":"1","line_num":"0","height":"0.017421602252187585","par_num":"0","left":"0.3793604652200319"},{"text":"638","word_num":"0","conf":"1","par_num":"0","height":"0.020905922094220375","width":"0.014534883042599311","page_num":"0","top":"0.5888501747252475","line_num":"0","block_num":"0","level":"0","left":"0.37500000058141353"},{"par_num":"0","block_num":"0","text":"639","page_num":"0","line_num":"0","left":"0.37936046539645013","height":"0.017421602252187585","word_num":"0","width":"0.010174418383456285","conf":"1","level":"0","top":"0.609756097654394"},{"page_num":"0","conf":"1","par_num":"0","block_num":"0","line_num":"0","left":"0.37936046517237065","level":"0","text":"641","top":"0.644599303185753","height":"0.017421602252187585","width":"0.010174418383456285","word_num":"0"},{"level":"0","conf":"1","page_num":"0","top":"0.6794425089203638","width":"0.010174418383456285","text":"643","height":"0.017421602252187474","par_num":"0","word_num":"0","line_num":"0","left":"0.37936046539645013","block_num":"0"},{"left":"0.3735465122040527","page_num":"0","conf":"0.5","level":"0","par_num":"0","block_num":"0","width":"0.0159883714736776","word_num":"0","text":"-644","line_num":"0","height":"0.017421602252187474","top":"0.7003484321491676"},{"page_num":"0","word_num":"0","line_num":"0","block_num":"0","left":"0.37936046517237065","height":"0.020905922094220375","top":"0.7142857146497539","width":"0.010174418383456285","level":"0","text":"645","conf":"1","par_num":"0"},{"conf":"0.30000001192092896","par_num":"0","top":"0.735191637118753","height":"0.10801393791819303","block_num":"0","text":"h à & ã ãã","width":"0.015988377814597277","level":"0","page_num":"0","left":"0.37354650843553916","line_num":"0","word_num":"0"},{"block_num":"0","left":"0.4534883724275839","level":"0","line_num":"0","page_num":"0","conf":"0.5","text":"4 SF [iminny@localhost)","top":"0.05226480884777385","par_num":"0","width":"0.05087209255137337","word_num":"0","height":"0.017421602252187474"},{"par_num":"0","page_num":"0","text":"A HS_Jocal (jiminny@localhost]","level":"0","top":"0.0522648088042198","conf":"0.5","block_num":"0","height":"0.017421602252187585","line_num":"0","width":"0.06249999492726421","left":"0.5116279099661418","word_num":"0"},{"height":"0.0210059514266262","level":"0","par_num":"0","left":"0.44186046594507206","conf":"0.30000001192092896","top":"0.0765550240532874","width":"0.02325581236088531","word_num":"0","block_num":"0","line_num":"0","page_num":"0","text":"Tx: Auto v"},{"block_num":"0","top":"0.1184668993965543","word_num":"0","left":"0.3997092914219498","page_num":"0","par_num":"0","conf":"0.5","level":"0","text":"SELECT * FROM crm_profiles cp JOIN users u 1..n<->1: on u.id = cp.user_id WHERE U.team_id = 711;","width":"0.24854651917802528","line_num":"0","height":"0.017421602252187585"},{"height":"0.007185368636768663","text":"select * from leads.","line_num":"0","word_num":"0","par_num":"0","conf":"0.30000001192092896","block_num":"0","top":"0.1602787460943993","left":"0.399709305086553","level":"0","page_num":"0","width":"0.052325573373348144"},{"block_num":"0","left":"0.3997093098749992","conf":"0.5","line_num":"0","page_num":"0","text":"sellect * from callendans.","top":"0.1951219515547178","par_num":"0","width":"0.06395348082197477","word_num":"0","height":"0.006968640444571461","level":"0"},{"height":"0.006968640444571461","level":"0","text":"SELECT","word_num":"0","conf":"0.5","line_num":"0","page_num":"0","left":"0.39970930236776053","top":"0.22996515712963062","par_num":"0","width":"0.017441858636571994","block_num":"0"},{"word_num":"0","line_num":"0","conf":"0.30000001192092896","block_num":"0","height":"0.0071770334928229484","text":"+id AS team idi","page_num":"0","top":"0.24720893141945777","width":"0.042151159428535645","par_num":"0","left":"0.4098837246037649","level":"0"},{"par_num":"0","page_num":"0","text":"EROM teams +1","conf":"0.5","top":"0.29965156815423977","word_num":"0","height":"0.007365975843852457","block_num":"0","level":"0","width":"0.0334302288420657","line_num":"0","left":"0.3997093059966503"},{"block_num":"0","word_num":"0","left":"0.401162787911765","conf":"0.30000001192092896","top":"0.31010452972006874","line_num":"0","page_num":"0","par_num":"0","text":"JOIN users u 1<->1.n: ON u.team_id = t.id","width":"0.10755813882706017","height":"0.01764666634883605","level":"0"},{"height":"0.011164274322169154","page_num":"0","width":"0.2529069819348924","left":"0.40116277749722457","conf":"1","top":"0.3341307814992025","level":"0","par_num":"0","block_num":"0","text":"JOIN calendars c ON c.user_id = v.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%0%","word_num":"0","line_num":"0"},{"page_num":"0","top":"0.3449477358686506","level":"0","height":"0.021080972285171917","left":"0.3997093017793822","block_num":"0","line_num":"0","par_num":"0","text":"LEFT JOIN team_domains td","conf":"0.5","width":"0.06831395372431326","word_num":"0"},{"line_num":"0","level":"0","word_num":"0","height":"0.0071770334928229484","conf":"0.30000001192092896","page_num":"0","par_num":"0","text":"ON +d toam id = + id","top":"0.3692185007974482","width":"0.053779069413530056","left":"0.40988372146436214","block_num":"0"},{"height":"0.017421602252187474","block_num":"0","left":"0.4098837216135592","word_num":"0","level":"0","par_num":"0","line_num":"0","text":"AND td.deleted_at IS NULL","top":"0.38327526141746027","width":"0.06831395372431326","conf":"1","page_num":"0"},{"height":"0.017554973681387476","word_num":"0","conf":"1","level":"0","top":"0.43540669862046466","left":"0.39970930602489557","page_num":"0","par_num":"0","width":"0.08720929571922792","line_num":"0","block_num":"0","text":"ORDER BY t.name, calendar_domain;"},{"height":"0.01777725888971693","par_num":"0","text":"where u.team_id = 882;","line_num":"0","word_num":"0","page_num":"0","conf":"0.5","left":"0.3997093012580783","top":"0.4878048783923621","width":"0.05959302313784337","level":"0","block_num":"0"},{"block_num":"0","conf":"1","word_num":"0","width":"0.16860464785961393","top":"0.539872408443806","left":"0.39970930567405405","text":"select * from activities where id = 74049485; # team 563 crm 537","level":"0","par_num":"0","page_num":"0","height":"0.017618880507668466","line_num":"0"},{"block_num":"0","word_num":"0","height":"0.007310404161517181","conf":"1","top":"0.5644599307143667","level":"0","par_num":"0","left":"0.39970930371508656","text":"select * from activities where","line_num":"0","width":"0.07994185102746842","page_num":"0"},{"par_num":"0","top":"0.5574162679425837","width":"0.09011627765412028","word_num":"0","conf":"1","text":"id = 73272382; # team 563 crm 537","line_num":"0","block_num":"0","page_num":"0","left":"0.47965116562199145","height":"0.01754385964912286","level":"0"},{"conf":"1","word_num":"0","line_num":"0","text":"select * from activities where id = 64400389; # team 563 crm 537","width":"0.16870849690538775","level":"0","page_num":"0","top":"0.5747887337201364","block_num":"0","height":"0.021154239417263243","left":"0.3996573660515898","par_num":"0"},{"height":"0.006968640444571461","line_num":"0","level":"0","width":"0.07994185102746837","top":"0.5993031362237073","word_num":"0","block_num":"0","text":"select * From activitles where","par_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.3997093117374229"},{"top":"0.5993031362237073","word_num":"0","line_num":"0","par_num":"0","conf":"0.30000001192092896","left":"0.48982558441262974","level":"0","block_num":"0","page_num":"0","height":"0.006968640444571461","text":"= 58081275: # Team 563 crmi","width":"0.06831394357884185"},{"block_num":"0","par_num":"0","conf":"1","text":"537","page_num":"0","height":"0.017421602252187474","top":"0.5923344947507936","width":"0.011627906180442626","word_num":"0","left":"0.5581395352334221","level":"0","line_num":"0"},{"text":"select * from activities where id = 54520297; # team 563 crm 537","conf":"1","left":"0.3997093040907783","height":"0.02102540212384818","width":"0.1700581388270601","line_num":"0","word_num":"0","top":"0.6097560973779116","page_num":"0","level":"0","par_num":"0","block_num":"0"},{"par_num":"0","level":"0","block_num":"0","line_num":"0","page_num":"0","text":"select * from narticinants where activitv 1d = 58081273÷","width":"0.14680231378433545","word_num":"0","height":"0.0071770334928229484","top":"0.6339712918660287","conf":"1","left":"0.3997093150708276"},{"left":"0.3997092986697743","top":"0.6689895475570463","page_num":"0","par_num":"0","text":"select * from activities where crm_configuration_id = 537 and provider = 'aircall'","height":"0.010452960286604362","line_num":"0","level":"0","conf":"1","width":"0.21366277654120264","word_num":"0","block_num":"0"},{"text":"and account_id = 19003658 order by updated_at desc;","level":"0","block_num":"0","left":"0.3997093051656057","line_num":"0","page_num":"0","width":"0.1351744164811804","height":"0.01773280123964638","conf":"0.5","par_num":"0","top":"0.6826156301677889","word_num":"0"},{"width":"0.19476742440081657","word_num":"0","level":"0","left":"0.39970931489836553","line_num":"0","text":"select * from contacts where crm_configuration_id = 537 and id = 35957759;","conf":"1","top":"0.7177033492822966","par_num":"0","height":"0.01754385964912286","page_num":"0","block_num":"0"},{"height":"0.007207597461803772","conf":"0.5","word_num":"0","level":"0","block_num":"0","par_num":"0","top":"0.7384370015438981","text":"celect * fnom accounte whene eom confiaunation id = 537 and id - 10003459-","left":"0.39970933251361235","line_num":"0","width":"0.19331392328789893","page_num":"0"},{"top":"0.7700348436474254","page_num":"0","left":"0.3997093037961306","par_num":"0","level":"0","height":"0.017421602252187585","block_num":"0","line_num":"0","text":"select * from automated_report_results where id = 1976;","word_num":"0","conf":"1","width":"0.14534883296236073"},{"par_num":"0","word_num":"0","block_num":"0","top":"0.7870813399814517","page_num":"0","text":"select * from automated_reports where id = 583;","conf":"1","width":"0.12499999999999994","left":"0.3997093040975918","line_num":"0","level":"0","height":"0.017796708065927258"},{"line_num":"0","left":"0.399709303985332","width":"0.13081395372431337","par_num":"0","text":"select * from activity_searches where id = 87714;","height":"0.017674452190003742","page_num":"0","conf":"1","block_num":"0","top":"0.804625199137703","level":"0","word_num":"0"},{"top":"0.8221690591125324","block_num":"0","width":"0.1875","page_num":"0","word_num":"0","level":"0","line_num":"0","conf":"1","text":"select * from activity_search_filters where activity_search_id = 87714;","left":"0.39970930410458005","height":"0.017552194793068354","par_num":"0"},{"height":"0.017657780381100774","top":"0.8571428575343606","text":"SELECT * FROM activities WHERE uvid_to_bin(^8827f672-202d-4162-9d04-73ff5f0566a9') = uuid","block_num":"0","level":"0","word_num":"0","page_num":"0","line_num":"0","par_num":"0","width":"0.23401162979450635","left":"0.39970929586573917","conf":"1"},{"block_num":"0","height":"0.01051131085725876","top":"0.8779904306140827","width":"0.1598837020549369","left":"0.40116280938687016","page_num":"0","par_num":"0","text":"or uuid to_ bin( 47842446-af51-4bcb-854f-cc65602901019) = uuid","line_num":"0","conf":"0.5","level":"0","word_num":"0"},{"width":"0.033430231378433595","par_num":"0","line_num":"0","word_num":"0","height":"0.017421602252187585","level":"0","page_num":"0","top":"0.0522648088042198","block_num":"0","conf":"0.30000001192092896","left":"0.6264534884370305","text":"A console (EU]"},{"conf":"0.5","left":"0.665697677600814","height":"0.017421602252187585","level":"0","par_num":"0","text":"A console [STAGING]","width":"0.046511624721770506","top":"0.05226480845578774","word_num":"0","block_num":"0","line_num":"0","page_num":"0"},{"line_num":"0","text":"oajiminny","conf":"0.30000001192092896","top":"0.07665505213372159","block_num":"0","page_num":"0","par_num":"0","level":"0","width":"0.024709303328331433","height":"0.013937282410154683","left":"0.6976744180306017","word_num":"0"},{"level":"0","block_num":"0","text":"Cascade","top":"0.05226480815613055","par_num":"0","conf":"1","height":"0.013937282410154683","width":"0.018895348335834283","left":"0.7296511633563076","line_num":"0","word_num":"0","page_num":"0"},{"page_num":"0","height":"0.007285397208668498","conf":"1","left":"0.7281976756219521","line_num":"0","text":"New Cascade","top":"0.08362369354010668","block_num":"0","level":"0","width":"0.029069766085198623","word_num":"0","par_num":"0"},{"line_num":"0","word_num":"0","block_num":"0","conf":"0.5","level":"0","top":"0.4599303140069686","height":"0.02787456390243903","left":"0.8459302325581395","text":"W","par_num":"0","width":"0.018895348459302408","page_num":"0"},{"text":"Cascade Code *a","word_num":"0","block_num":"0","width":"0.05959301806510764","height":"0.0176911239989066","conf":"0.30000001192092896","left":"0.8270348883866107","level":"0","line_num":"0","page_num":"0","par_num":"0","top":"0.498257839577938"},{"top":"0.5119617224880383","conf":"1","height":"0.021531100478468845","block_num":"0","text":"Kick off a new project. Make changes","left":"0.8197674467423175","line_num":"0","page_num":"0","par_num":"0","width":"0.07558138827060135","word_num":"0","level":"0"},{"height":"0.007274283176403884","word_num":"0","text":"across your entire codebase","block_num":"0","page_num":"0","left":"0.8270348838357491","level":"0","line_num":"0","conf":"1","width":"0.056686041202951065","top":"0.5365853660742468","par_num":"0"},{"level":"0","conf":"1","block_num":"0","top":"0.8362369337751837","line_num":"0","page_num":"0","par_num":"0","text":"Undo","left":"0.8008720932223401","height":"0.017421602252187585","width":"0.013081394611521024","word_num":"0"},{"text":"12m","width":"0.01017441838345623","block_num":"0","left":"0.9709302328383106","word_num":"0","conf":"0.5","par_num":"0","top":"0.8466898955638017","page_num":"0","height":"0.017421602252187585","line_num":"0","level":"0"},{"width":"0.0625","word_num":"0","top":"0.8987240829346093","line_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.732558139388465","page_num":"0","level":"0","par_num":"0","height":"0.003987240829346095","text":"nSiter tamatoroonar octull"},{"text":"Ask anvthina (*4L","top":"0.9266347687400319","par_num":"0","page_num":"0","word_num":"0","conf":"0.5","left":"0.7311046507323561","block_num":"0","height":"0.0071770334928229484","level":"0","line_num":"0","width":"0.03924418256637896"},{"page_num":"0","word_num":"0","conf":"0.30000001192092896","level":"0","text":"es codo","line_num":"0","left":"0.7369186065028565","block_num":"0","par_num":"0","height":"0.0071770334928229484","top":"0.9545454545454546","width":"0.017441858636571994"},{"page_num":"0","height":"0.0071770334928229484","line_num":"0","left":"0.8008720986534295","par_num":"0","word_num":"0","conf":"0.5","text":"Paste and Match Stvle","level":"0","width":"0.04796511061648112","block_num":"0","top":"0.9441786283891547"},{"text":"Select All","width":"0.02034883549872868","left":"0.8008720927431303","level":"0","line_num":"0","top":"0.961672474174304","block_num":"0","par_num":"0","page_num":"0","word_num":"0","height":"0.007227047398520092","conf":"0.5"},{"height":"0.007349304034949489","par_num":"0","conf":"0.5","block_num":"0","top":"0.9790940770743789","width":"0.0334302288420657","text":"Onen DevTools","left":"0.8008720967378522","word_num":"0","page_num":"0","line_num":"0","level":"0"},{"width":"0.056686041202950954","par_num":"0","text":"NN Windeurf Toame 6A141","word_num":"0","level":"0","height":"0.006968640444571572","page_num":"0","left":"0.8982558196160472","conf":"0.30000001192092896","top":"0.9860627181052405","block_num":"0","line_num":"0"},{"text":"UTE.9","block_num":"0","left":"0.9549418607093821","conf":"0.30000001192092896","height":"0.006968641205077342","level":"0","par_num":"0","line_num":"0","page_num":"0","top":"0.9860627176901443","width":"0.0159883714736776","word_num":"0"},{"page_num":"0","text":"4 spaces","line_num":"0","height":"0.014354066985646008","par_num":"0","conf":"1","level":"0","top":"0.9824561403508771","word_num":"0","width":"0.02034883676691257","block_num":"0","left":"0.9752906982347607"}]...
|
PhpStorm
|
AppleNative
|
|
1
|
3724
|
NULL
|
NULL
|
|
89141
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests./__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:42:08181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"conf":"1","level":" [{"conf":"1","level":"0","block_num":"0","page_num":"0","left":"0.03488372130374368","line_num":"0","par_num":"0","text":"iTerm2","top":"0.006976744645528443","width":"0.03488371902041965","height":"0.013953487608167836","word_num":"0"},{"par_num":"0","width":"0.0872092988755968","level":"0","text":"Shell Edit View","left":"0.0828488390916055","line_num":"0","conf":"0.5","word_num":"0","page_num":"0","block_num":"0","top":"0.004444444444444473","height":"0.016666666666666607"},{"conf":"1","level":"0","top":"0.0069767444517300214","word_num":"0","height":"0.013953487608167836","line_num":"0","text":"Session","block_num":"0","width":"0.034883719020419646","left":"0.18168604790258086","page_num":"0","par_num":"0"},{"height":"0.014077084859212219","conf":"0.5","level":"0","page_num":"0","left":"0.2296406737588108","line_num":"0","par_num":"0","block_num":"0","text":"Scripts","top":"0.006914945827753649","width":"0.031997723049587645","word_num":"0"},{"par_num":"0","conf":"1","left":"0.27322028368896356","page_num":"0","block_num":"0","text":"Profiles","top":"0.0067555497661416775","height":"0.014395876990424217","level":"0","width":"0.03350129392411971","line_num":"0","word_num":"0"},{"page_num":"0","par_num":"0","line_num":"0","block_num":"0","level":"0","height":"0.013953487608167836","width":"0.03633720874786378","left":"0.31831395315998284","top":"0.006976744645528443","text":"Window","word_num":"0","conf":"1"},{"level":"0","word_num":"0","height":"0.013953487608167836","left":"0.36773255878967304","par_num":"0","top":"0.006976744474985863","block_num":"0","width":"0.02034883631600276","conf":"1","page_num":"0","text":"Help","line_num":"0"},{"text":"APP (-zsh)","word_num":"0","par_num":"0","conf":"1","width":"0.049418603049384224","page_num":"0","height":"0.014496124055650483","left":"0.47529069803997187","level":"0","line_num":"0","top":"0.03666666662527551","block_num":"0"},{"top":"0.06511627921917185","line_num":"0","width":"0.03488371902041965","word_num":"0","height":"0.013953487608167947","left":"0.050872094365759145","par_num":"0","text":"DOCKER","page_num":"0","conf":"1","level":"0","block_num":"0"},{"left":"0.14680232584832487","top":"0.06744186045818157","height":"0.011627907223171752","block_num":"0","width":"0.01017441815800138","conf":"0.30000001192092896","text":"881","word_num":"0","page_num":"0","level":"0","line_num":"0","par_num":"0"},{"par_num":"0","width":"0.05087209277682833","conf":"1","left":"0.2107558135640147","top":"0.0674418609589309","word_num":"0","page_num":"0","text":"DEV (docker)","block_num":"0","line_num":"0","level":"0","height":"0.011627906163533597"},{"conf":"0.30000001192092896","height":"0.011627907223171752","width":"0.014534884028964579","top":"0.06744186045818157","page_num":"0","block_num":"0","par_num":"0","left":"0.30813953472970373","line_num":"0","text":"₴82","word_num":"0","level":"0"},{"left":"0.3793604658741403","width":"0.040697672632005466","level":"0","conf":"0.5","height":"0.011627906163533597","word_num":"0","line_num":"0","page_num":"0","par_num":"0","text":"APP (-zsh)","block_num":"0","top":"0.0674418609589309"},{"top":"0.06511627921917185","par_num":"0","text":"83","block_num":"0","width":"0.013081394301520444","page_num":"0","conf":"0.30000001192092896","word_num":"0","left":"0.47238372128431727","line_num":"0","level":"0","height":"0.013953487608167947"},{"text":"screenpipe\"","left":"0.5348576004786272","word_num":"0","block_num":"0","height":"0.014420836766560807","line_num":"0","width":"0.048017358779907204","par_num":"0","level":"0","top":"0.0648826047097042","page_num":"0","conf":"0.5"},{"line_num":"0","par_num":"0","level":"0","width":"0.2790697521633572","top":"0.09069767473716484","text":"front-end/src/components/AiReports/Manage/__tests_","word_num":"0","conf":"1","block_num":"0","page_num":"0","height":"0.016279069052802186","left":"0.008720942522972407"},{"text":"_/ManageAiReports.spec.js","top":"0.0906976745315402","word_num":"0","left":"0.2863372117089401","block_num":"0","width":"0.14098837110731333","conf":"1","level":"0","line_num":"0","page_num":"0","par_num":"0","height":"0.01860465155707458"},{"width":"0.44622090657552077","word_num":"0","level":"0","left":"0.00872094763883828","page_num":"0","conf":"1","height":"0.016279069052802186","line_num":"0","par_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","block_num":"0","top":"0.1093023258515059"},{"conf":"1","level":"0","page_num":"0","top":"0.13023255838057568","width":"0.5232557932535807","word_num":"0","line_num":"0","height":"0.016279069052802186","par_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","left":"0.008720945815069964","block_num":"0"},{"line_num":"0","word_num":"0","conf":"1","par_num":"0","left":"0.00872092909910249","level":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","width":"0.6002906799316406","block_num":"0","height":"0.018604651557074692","page_num":"0","top":"0.1488372093377417"},{"top":"0.16976744197340066","width":"0.26308138105604384","page_num":"0","left":"0.008720941327598099","line_num":"0","level":"0","word_num":"0","height":"0.018604651557074692","par_num":"0","block_num":"0","conf":"1","text":"front-end/src/components/AiReports/constants.js"},{"conf":"1","left":"0.008720944627202777","par_num":"0","top":"0.18837209251603637","height":"0.01860465155707458","line_num":"0","width":"0.4127906799316406","level":"0","page_num":"0","word_num":"0","block_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue"},{"block_num":"0","conf":"1","top":"0.20930232526797432","height":"0.01860465155707458","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","page_num":"0","width":"0.4069767422146267","word_num":"0","par_num":"0","line_num":"0","left":"0.008720936305477206","level":"0"},{"conf":"1","block_num":"0","par_num":"0","height":"0.016279069052802186","page_num":"0","level":"0","line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","top":"0.2302325584096454","width":"0.35755814446343315","word_num":"0","left":"0.00872093223776006"},{"line_num":"0","par_num":"0","conf":"1","page_num":"0","height":"0.018604651557074692","top":"0.2488372089889045","word_num":"0","level":"0","left":"0.008720934875787774","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","width":"0.35174418555365666","block_num":"0"},{"line_num":"0","height":"0.01860465155707458","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","level":"0","conf":"1","top":"0.26976744154704413","width":"0.4854651133219401","par_num":"0","block_num":"0","page_num":"0","word_num":"0","left":"0.008720937779436768"},{"par_num":"0","line_num":"0","width":"0.3793604532877604","word_num":"0","page_num":"0","conf":"1","left":"0.008720939940422036","height":"0.016279069052802075","block_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","top":"0.29069767465964547","level":"0"},{"text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","page_num":"0","word_num":"0","conf":"1","line_num":"0","height":"0.01860465155707458","left":"0.008720948847176679","level":"0","par_num":"0","block_num":"0","top":"0.3093023252679743","width":"0.3851743910047743"},{"block_num":"0","left":"0.01017442358565618","top":"0.3325581400286983","conf":"1","page_num":"0","level":"0","line_num":"0","width":"0.27180230882432727","text":"front-end/src/components/shared/SavedSearchModal/","height":"0.011627906163533597","word_num":"0","par_num":"0"},{"block_num":"0","line_num":"0","word_num":"0","par_num":"0","height":"0.013953487608167836","level":"0","page_num":"0","text":"__mocks__/nudges.js","left":"0.2805232549080388","top":"0.3325581400718851","width":"0.1061046494377984","conf":"0.5"},{"block_num":"0","level":"0","top":"0.3488372088726255","word_num":"0","par_num":"0","conf":"1","height":"0.01860465155707458","page_num":"0","left":"0.008720944988524652","width":"0.4622092776828342","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js"},{"block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","conf":"1","line_num":"0","par_num":"0","level":"0","width":"0.3183139377170139","word_num":"0","height":"0.01860465155707458","left":"0.008720943423469624","top":"0.3697674416633232","page_num":"0"},{"page_num":"0","line_num":"0","level":"0","par_num":"0","block_num":"0","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/__tests.","top":"0.3883720925398433","width":"0.31395348442925347","word_num":"0","left":"0.008720935001942978","height":"0.02093023300170893"},{"text":"/__snapshots__/saved-search-modal-edit.output.html","word_num":"0","left":"0.32994186531367026","conf":"1","line_num":"0","width":"0.2790697521633572","height":"0.018604651557074692","block_num":"0","par_num":"0","top":"0.36976744175634635","level":"0","page_num":"0"},{"text":"/__snapshots__/saved-search-modal.output.html","conf":"1","page_num":"0","left":"0.329941858342544","height":"0.01860465155707458","par_num":"0","line_num":"0","width":"0.25145348442925347","word_num":"0","level":"0","top":"0.3883720925160363","block_num":"0"},{"width":"0.32412789662679037","level":"0","left":"0.008720939459133782","block_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","conf":"1","page_num":"0","word_num":"0","top":"0.4093023252679743","line_num":"0","height":"0.018604651557074692"},{"word_num":"0","page_num":"0","conf":"1","line_num":"0","par_num":"0","level":"0","height":"0.016279069052802075","block_num":"0","left":"0.008720945245547382","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","width":"0.36773253546820744","top":"0.4302325583805757"},{"par_num":"0","conf":"1","word_num":"0","top":"0.4488372090276642","line_num":"0","block_num":"0","page_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","left":"0.008720939802207934","level":"0","width":"0.4854651133219401","height":"0.01860465155707458"},{"block_num":"0","level":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","top":"0.4697674423340641","height":"0.016279069052802075","conf":"1","page_num":"0","width":"0.49709298875596786","word_num":"0","line_num":"0","par_num":"0","left":"0.007267450825504717"},{"height":"0.016279069052802186","text":"tests/Feature/NudgeProcessingFeatureTest.php","conf":"1","top":"0.49069767467902525","par_num":"0","left":"0.008720936961676194","level":"0","width":"0.245639525519477","block_num":"0","line_num":"0","word_num":"0","page_num":"0"},{"word_num":"0","block_num":"0","left":"0.008720940809666643","page_num":"0","par_num":"0","top":"0.509302325306734","level":"0","line_num":"0","height":"0.01860465155707458","conf":"1","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","width":"0.3241278966267904"},{"width":"0.4127906799316406","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","level":"0","block_num":"0","top":"0.5302325584096454","height":"0.016279069052802186","par_num":"0","word_num":"0","line_num":"0","left":"0.008720944263830709","conf":"1","page_num":"0"},{"line_num":"0","level":"0","block_num":"0","page_num":"0","left":"0.007267443399245208","par_num":"0","height":"0.018604651557074692","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","top":"0.548837209182703","word_num":"0","conf":"1","width":"0.3808139377170139"},{"line_num":"0","block_num":"0","level":"0","top":"0.5697674415470441","word_num":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","conf":"1","width":"0.26308138105604384","height":"0.018604651557074692","par_num":"0","page_num":"0","left":"0.00872094066747218"},{"top":"0.5906976748922036","block_num":"0","conf":"1","line_num":"0","level":"0","page_num":"0","height":"0.016279069052802297","par_num":"0","width":"0.2790697521633572","left":"0.008720935081112163","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","word_num":"0"},{"par_num":"0","page_num":"0","top":"0.6093023252912301","left":"0.008720935288035392","line_num":"0","word_num":"0","block_num":"0","level":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","width":"0.40697674221462665","conf":"1","height":"0.018604651557074692"},{"text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","level":"0","block_num":"0","conf":"1","height":"0.018604651557074692","width":"0.3735465155707466","left":"0.008720932494423177","page_num":"0","line_num":"0","par_num":"0","top":"0.630232558174951","word_num":"0"},{"block_num":"0","height":"0.018604651557074692","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","conf":"1","left":"0.008720925345802873","page_num":"0","top":"0.6488372087951062","level":"0","line_num":"0","width":"0.3575581444634332","word_num":"0","par_num":"0"},{"height":"0.023669251335991737","par_num":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","width":"0.30668604109022357","page_num":"0","word_num":"0","top":"0.6674418601201179","line_num":"0","level":"0","block_num":"0","conf":"1","left":"0.008720930055878897"},{"level":"0","top":"0.64","left":"0.29999999930555554","page_num":"0","par_num":"0","width":"0.06666666666666671","conf":"0.30000001192092896","word_num":"0","block_num":"0","height":"0.053333333333333344","line_num":"0","text":"rtarest. php"},{"block_num":"0","conf":"1","top":"0.6906976746596454","par_num":"0","height":"0.016279069052802186","word_num":"0","left":"0.008720943324406762","level":"0","page_num":"0","line_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","width":"0.45784882439507385"},{"text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","top":"0.7088888885350363","width":"0.43459303114149306","left":"0.008720919944754178","word_num":"0","par_num":"0","page_num":"0","conf":"1","level":"0","block_num":"0","height":"0.019018088446723147","line_num":"0"},{"height":"0.046666666666666634","left":"0.3208333309027779","text":"fonitrn/esComedad.ron,.php","line_num":"0","block_num":"0","level":"0","page_num":"0","top":"0.6866666667777778","width":"0.14583333333333337","conf":"0.30000001192092896","word_num":"0","par_num":"0"},{"conf":"1","par_num":"0","page_num":"0","width":"0.4186046600341797","height":"0.01666666666666672","block_num":"0","top":"0.73","level":"0","line_num":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","word_num":"0","left":"0.008720931874829398"},{"conf":"1","left":"0.008720944031500208","height":"0.0189405674404568","block_num":"0","level":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","top":"0.7488372099361025","par_num":"0","width":"0.5188953399658203","page_num":"0","word_num":"0","line_num":"0"},{"top":"0.769767441714528","width":"0.556686019897461","height":"0.01912144766913515","line_num":"0","par_num":"0","word_num":"0","conf":"1","block_num":"0","left":"0.00872094292957427","level":"0","page_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php"},{"word_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","left":"0.008720950932465657","line_num":"0","par_num":"0","page_num":"0","block_num":"0","level":"0","conf":"1","width":"0.5232557932535807","top":"0.7883720927330905","height":"0.018604651557074692"},{"par_num":"0","width":"0.5130814022488065","page_num":"0","conf":"1","block_num":"0","top":"0.8088888884187573","left":"0.008720932168461499","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","word_num":"0","height":"0.019018088446723147","level":"0","line_num":"0"},{"height":"0.018888888888888955","par_num":"0","top":"0.83","word_num":"0","page_num":"0","conf":"1","level":"0","block_num":"0","left":"0.00872093066119501","width":"0.5901162889268663","line_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js"},{"level":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","left":"0.00872093066119501","page_num":"0","top":"0.8488372098663348","par_num":"0","conf":"1","height":"0.0189405674404568","width":"0.5901162889268663","line_num":"0","word_num":"0","block_num":"0"},{"word_num":"0","top":"0.8697674421015059","height":"0.016279069052802186","block_num":"0","par_num":"0","line_num":"0","level":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","page_num":"0","left":"0.00872095191817562","width":"0.6017441643608942","conf":"1"},{"width":"0.5188953399658204","level":"0","height":"0.016279069052802186","page_num":"0","line_num":"0","conf":"1","par_num":"0","word_num":"0","block_num":"0","top":"0.8906976746596453","left":"0.008720941480167237","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php"},{"top":"0.9088888883993775","height":"0.019018088446723036","conf":"1","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","block_num":"0","level":"0","par_num":"0","word_num":"0","line_num":"0","width":"0.5130813598632812","left":"0.008720965718114076","page_num":"0"},{"block_num":"0","line_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","level":"0","page_num":"0","width":"0.4796511332194011","conf":"1","par_num":"0","left":"0.008720959803854693","height":"0.016666666666666607","word_num":"0","top":"0.93"},{"level":"0","block_num":"0","conf":"1","left":"0.008720958818144888","line_num":"0","page_num":"0","par_num":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","top":"0.9488372099361024","height":"0.0189405674404568","width":"0.4636627621120876","word_num":"0"},{"conf":"1","height":"0.02144702911376961","block_num":"0","left":"0.004360485232488721","par_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","width":"0.5348837110731336","level":"0","top":"0.9674418601201177","page_num":"0","word_num":"0","line_num":"0"},{"left":"0.6250000001737047","text":"O 84","top":"0.06511627927731145","block_num":"0","par_num":"0","conf":"0.30000001192092896","width":"0.024709301524692084","page_num":"0","line_num":"0","height":"0.013953487608167836","word_num":"0","level":"0"},{"par_num":"0","height":"0.011627906163533597","block_num":"0","width":"0.017441859510209823","word_num":"0","conf":"0.5","line_num":"0","level":"0","left":"0.7194767443728021","page_num":"0","text":"-zsh","top":"0.06744186098800065"},{"height":"0.011627906163533597","text":"885","block_num":"0","par_num":"0","width":"0.01453488270441694","conf":"0.30000001192092896","level":"0","left":"0.7994186049777334","page_num":"0","top":"0.0674418609589309","word_num":"0","line_num":"0"},{"block_num":"0","par_num":"0","text":"100% <7","height":"0.014181681738959395","top":"0.0068626474102171375","line_num":"0","word_num":"0","left":"0.8168458269716159","conf":"0.30000001192092896","width":"0.04218044016096334","page_num":"0","level":"0"},{"width":"0.09738372166951492","height":"0.014444444444444371","left":"0.8909883701829538","page_num":"0","conf":"1","par_num":"0","top":"0.00666666666666671","level":"0","block_num":"0","word_num":"0","line_num":"0","text":"Mon 27 Apr 18:42:08"},{"line_num":"0","top":"0.034883721195916095","block_num":"0","word_num":"0","text":"181","page_num":"0","conf":"0.30000001192092896","level":"0","left":"0.9723837216312426","par_num":"0","width":"0.020348836316002705","height":"0.013953487608167836"},{"text":"ec2-user@ip-10-30-95-134:...","width":"0.11046511332194009","conf":"1","block_num":"0","height":"0.011627906163533597","left":"0.8372093056452314","top":"0.06744186083296189","page_num":"0","word_num":"0","line_num":"0","level":"0","par_num":"0"},{"left":"0.9534883728710178","block_num":"0","top":"0.06511627933545094","word_num":"0","conf":"0.30000001192092896","height":"0.013953487608167836","level":"0","width":"0.024709301524692084","text":"• ₴6|","page_num":"0","par_num":"0","line_num":"0"},{"left":"0.651162790963683","line_num":"0","conf":"1","par_num":"0","page_num":"0","text":"66","top":"0.09069767487808655","height":"0.013953487608167947","block_num":"0","width":"0.01453488270441694","level":"0","word_num":"0"},{"height":"0.011627906163533486","conf":"1","par_num":"0","page_num":"0","text":"++++","top":"0.09302325610427975","width":"0.024709301524692084","level":"0","left":"0.668604651975057","line_num":"0","word_num":"0","block_num":"0"},{"par_num":"0","width":"0.03052325513627796","block_num":"0","line_num":"0","text":"23 +-","height":"0.01669250594245064","word_num":"0","page_num":"0","conf":"1","top":"0.1088888889538393","level":"0","left":"0.6511627914915763"},{"word_num":"0","line_num":"0","page_num":"0","text":"20","height":"0.016279069052802186","par_num":"0","block_num":"0","conf":"1","level":"0","top":"0.130232558334064","left":"0.6511627904273781","width":"0.014534884028964634"},{"top":"0.13255813982521003","width":"0.013081394301520444","word_num":"0","height":"0.011627906163533486","block_num":"0","par_num":"0","page_num":"0","text":"+-","conf":"0.5","left":"0.6686046519044723","line_num":"0","level":"0"},{"left":"0.658430232751938","text":"4","top":"0.15116279116279063","word_num":"0","page_num":"0","par_num":"0","conf":"1","height":"0.013953487906976814","level":"0","block_num":"0","line_num":"0","width":"0.007267441618217019"},{"line_num":"0","page_num":"0","left":"0.6686046510880266","par_num":"0","text":"+-","width":"0.01162790722317164","word_num":"0","top":"0.15348837269342708","block_num":"0","conf":"0.30000001192092896","height":"0.011627906163533486","level":"0"},{"line_num":"0","text":"7 +","top":"0.16976744216490824","page_num":"0","width":"0.01889534791310632","word_num":"0","height":"0.013953487608167947","level":"0","conf":"0.30000001192092896","par_num":"0","block_num":"0","left":"0.6584302333351134"},{"height":"0.013953487608167836","width":"0.01889534791310632","level":"0","text":"1 +","block_num":"0","conf":"0.5","top":"0.19069767472304788","word_num":"0","left":"0.6584302333351134","page_num":"0","par_num":"0","line_num":"0"},{"par_num":"0","top":"0.20930232582243613","word_num":"0","width":"0.017441859510209823","level":"0","conf":"1","page_num":"0","text":"24","height":"0.016279069052802186","left":"0.6511627914658253","line_num":"0","block_num":"0"},{"top":"0.21395348820707683","conf":"0.5","width":"0.010174418158001464","word_num":"0","height":"0.009302325778537401","block_num":"0","page_num":"0","left":"0.6700581396855341","par_num":"0","text":"+-","line_num":"0","level":"0"},{"text":"10","top":"0.23023255863777647","left":"0.6511627910242451","level":"0","height":"0.013953487608167947","width":"0.01453488270441694","block_num":"0","word_num":"0","page_num":"0","par_num":"0","conf":"1","line_num":"0"},{"width":"0.01889534791310632","left":"0.6584302327537183","text":"5 +","conf":"0.5","line_num":"0","word_num":"0","level":"0","page_num":"0","par_num":"0","block_num":"0","height":"0.01671834627787272","top":"0.2488372092900042"},{"height":"0.013953487608167836","line_num":"0","par_num":"0","block_num":"0","left":"0.646802325807255","text":"170","word_num":"0","conf":"1","level":"0","top":"0.26976744235870675","width":"0.01889534791310621","page_num":"0"},{"block_num":"0","word_num":"0","page_num":"0","level":"0","conf":"1","top":"0.2906976748780866","line_num":"0","par_num":"0","left":"0.651162790963683","text":"18","height":"0.013953487608167836","width":"0.01453488270441694"},{"height":"0.016279069052802297","line_num":"0","page_num":"0","block_num":"0","text":"16","top":"0.30930232621003295","par_num":"0","conf":"1","word_num":"0","left":"0.651162791205931","width":"0.01453488270441694","level":"0"},{"height":"0.011627906163533486","conf":"0.30000001192092896","par_num":"0","text":"+-","top":"0.31395348897249686","word_num":"0","left":"0.6686046517106738","block_num":"0","width":"0.013081394301520444","line_num":"0","level":"0","page_num":"0"},{"left":"0.6482558143219299","page_num":"0","block_num":"0","par_num":"0","top":"0.3488372088726255","level":"0","line_num":"0","conf":"1","width":"0.017441859510209934","word_num":"0","text":"62","height":"0.01860465155707458"},{"line_num":"0","height":"0.013953487608167836","left":"0.646802325807255","page_num":"0","top":"0.36976744235870673","word_num":"0","block_num":"0","par_num":"0","width":"0.01889534791310621","conf":"1","level":"0","text":"942"},{"line_num":"0","par_num":"0","word_num":"0","level":"0","conf":"1","left":"0.646802325807255","top":"0.39069767491684626","height":"0.013953487608167947","width":"0.01889534791310621","text":"942","block_num":"0","page_num":"0"},{"block_num":"0","line_num":"0","conf":"1","text":"21","top":"0.4093023256673973","width":"0.01453488270441694","left":"0.6511627910605823","word_num":"0","par_num":"0","page_num":"0","level":"0","height":"0.016279069052802186"},{"block_num":"0","width":"0.014534884028964523","top":"0.43023255805747485","text":"33","par_num":"0","left":"0.6511627906082568","word_num":"0","conf":"1","page_num":"0","level":"0","height":"0.016279070112440452","line_num":"0"},{"par_num":"0","conf":"1","line_num":"0","page_num":"0","block_num":"0","height":"0.011627906163533486","top":"0.3534883723833495","word_num":"0","level":"0","left":"0.6700581403030346","width":"0.017441859510209823","text":"+++"},{"left":"0.8517441850662857","height":"0.08372093200683584","level":"0","line_num":"0","block_num":"0","page_num":"0","text":"APP","conf":"0.30000001192092896","top":"0.14651162688694752","width":"0.1395348866780598","word_num":"0","par_num":"0"},{"left":"0.6686046489065398","height":"0.0813953484429254","text":"++++","level":"0","top":"0.4511627900808629","line_num":"0","page_num":"0","block_num":"0","width":"0.013081399599711108","word_num":"0","conf":"0.30000001192092896","par_num":"0"},{"text":"++","line_num":"0","width":"0.011627907223171752","word_num":"0","conf":"1","block_num":"0","page_num":"0","height":"0.013953488667805991","left":"0.6700581393147707","par_num":"0","level":"0","top":"0.5325581392707482"},{"conf":"0.30000001192092896","block_num":"0","height":"0.01162790722317164","page_num":"0","word_num":"0","level":"0","left":"0.6700581393235938","line_num":"0","top":"0.6116279067372514","par_num":"0","width":"0.013081395626068137","text":"++."}]...
|
PhpStorm
|
AppleNative
|
faVsco.js – UserPilotClient.php
|
1
|
3843
|
NULL
|
NULL
|
|
89144
|
PhpStormVIewINavigarecodeLaravelKeractorFV faVsco. PhpStormVIewINavigarecodeLaravelKeractorFV faVsco.js#11998 on JY-20372-ai-reports-promotiorProiect© UserTransformer.php X© FeatureTransformer.pl© FieldTransformer.php(C) FieldValueTransformeconvertLeadAcuviues.ongo roreedsttranstormer.© GroupDealRiskTypeTrT DeleteCrmEntityTrait.php© DeleteAccountJob.phpo crouelranstormer.ong© IntegrationTransformePlaybackController.phpphp api.php(C) InteqrationApp/Service.phoC) LeadConverted.phpC) Invitation I ranstormer.© JobTitleTransformer.pC) CreateSeltCoachedEvent.php(C) PlanhatActivityListener.php(C) AskAnvthingPromptService.phpC)AutomatedReportsRepositorv.ohvC) AutomatedReportsCommand.ohvphp api y2.ohd(C) RequestGenerateReport.Job.ohdC) LanquageDialectirans© LayoutEntityTransfornC) AutomatedReportResult.oho© AutomatedReport.phpc)Layoutlranstormer.orclass UserTransformer extends TransformerAbstractc) Messace I ranstormeC)NoteTranstormer.ohoC) PartnerTransformer.of© Permission Transforme 207© PlaybackPageTransfor 208@ PlaybookTransformer.| 214© PlaybookTreeTransfor 215PlaylistActivityTransfo 219© PlaylistSharesTransfor0 PlavlistTransformer.ph 220© ProspectsTransformer(c) QuestionTranstormer.© RecordTypeTransform(e) PoleTransformer.php© ScopeGroupTransform© ScorecardRuleTransfo(C) ScorecardRuleTriagerieanrolararironerarmiar© SearchTransformer.ph ,zs© SessionTranstormer.pl 2zolc) StageTranstormer.ohp© StatsTransformer.ohpC) TeamDomainTransforr9 Teamintegration TransP TeamTransformer.php sC)ThemeTransformer.ohC) Topictransformer.oho© TopicTriggerTransforn .co© TrackTransformer.php .cd(c) UcerTransformer nhnpublic function transform(User $user): arrayf...}public function includeTeam(User $user): Itemf...}public function includeGroup(User Suser): ?Item{...}public function includeJob(User Suser): ?Item{...}public function includeRoles(User Suser): Resource Collection{...}public function includePermissions(User Suser): Resource\Collectionf...}public function includeIntegrations(User Suser): Itemf...}1 usageprivate function getTeamTransformer(: TransformerAbstracts...}1 usageprivate function getGroupTransformer(): GroupTransformer{...}private function getIntegrationsTransformer: IntegrationTransformer(...}private function getPermissionTransformer: PermissionTransformer(...}private function getRoleTransformer: RoleTransformer{...}private function getJobTitleTransformer(: JobTitleTransformer{...}private function getSidekickService@: SidekickService(...}private function getUserService@: UserService'...(C) Kernel nhr() DlavlistTrackRecourceTreWorkenace accociated with hranch "IY.20272-ai-renorts-nromotion-nades' hac heon rectored /l Pollback Il Confiaure (a minute ado630632634- 636639641643Т64473,873,37837= laravel.log4 SF [iminny@localhost]« HS_local [jiminny@localhost]Tx: AutovSELECT * FROM com profiles co JOIN users u 1..n<->1: on u.id = co.user id WHERE u.team id = 711÷select * from leads.sellect * from callendans.SELECT+.id AS team idlEROM teams +1tEeT IOTN +oam domnine +dOM +d toam id = + idAND td.deleted at IS NULLORDER BY t.name, calendar domain:where u.team id = 882:select * from activities where id = 74049485: # team 563 crm 537select * from activities whereid = 73272382: # team 563 crm 537activities where id = 64400389: # team 563 com 537.select * From activitlesid = 58081273: # team 563 com 537select * from activities where id = 54520297; # team 563 crm 537select * from narticinants where activitv 1d = 580812731select * from activities where erm confiauration id = 537 and nroviden = taircall!and account id = 10AA3AS8 onden hv undated at decc•select * from contacts where crm_configuration_id = 537 and id = 35957759;colort * fnom automatod nononte wheno id = 597.coloAt d Enom ontiuity coonahod ubono 4d = 0771/.select * from activity_search_filters where activity_search_id = 87714;SELECT * FROM activities WHERE uuid to_bin('8827f672-202d-4162-9d04-73ff5f0566a9') = uuidAn nusd +o hánt1/701211L,OGC1, AhAh QClE,AALELA2001011) emuddA console [EU]A console [STAGING]Miiminny* 037 A1 A35 Y63 ^ VCascadeNew Cascade$0100% 5Mon 27 Apr 18:42:14AutomatedReportsRepositoryTestv+0 ..Cascade CodexKick off a new project. Make changesAutomated Reports Duplication© HubSpot Rate Limiter Implementationexistsuser->getldo ..— eliminates the query entirely.Claude Qnus 4.7 MediumW Windsurf Teams 52-8UTE.8io 4 spaces...
|
[{"par_num":"0","height":& [{"par_num":"0","height":"0.010452961047110132","page_num":"0","level":"0","line_num":"0","top":"0.0034843207830651535","block_num":"0","conf":"1","word_num":"0","width":"0.021802323929806976","text":"PhpStorm","left":"0.01744186183596858"},{"conf":"0.30000001192092896","page_num":"0","word_num":"0","height":"0.006968640444571461","top":"0.006968641450188162","line_num":"0","block_num":"0","level":"0","par_num":"0","text":"VIew","width":"0.010174417749364326","left":"0.07412790689566673"},{"word_num":"0","line_num":"0","left":"0.09011627900977959","top":"0.006968641450188162","conf":"0.30000001192092896","level":"0","height":"0.006968640444571461","page_num":"0","text":"INavigare","par_num":"0","block_num":"0","width":"0.018895347067650323"},{"level":"0","width":"0.01162790618044264","par_num":"0","block_num":"0","height":"0.006968640444571461","text":"code","line_num":"0","top":"0.006968641450188162","word_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.1148255812121043"},{"top":"0.006968641450188162","line_num":"0","par_num":"0","height":"0.006968640444571461","text":"Laravel","width":"0.01598837020549368","level":"0","conf":"1","block_num":"0","page_num":"0","left":"0.1322674420048114","word_num":"0"},{"height":"0.006968640444571461","left":"0.15406976748403967","level":"0","page_num":"0","text":"Keractor","word_num":"0","line_num":"0","block_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.006968641450188162","width":"0.017441858636572022"},{"par_num":"0","level":"0","block_num":"0","left":"0.030523259704860126","line_num":"0","text":"FV faVsco.js","height":"0.010452960286604362","word_num":"0","top":"0.02787456497864904","width":"0.029069763548830722","page_num":"0","conf":"0.5"},{"block_num":"0","conf":"1","left":"0.06831395976201794","word_num":"0","height":"0.010452960286604362","par_num":"0","text":"#11998 on JY-20372-ai-reports-promotior","page_num":"0","width":"0.08866278668667409","level":"0","line_num":"0","top":"0.02787456497864904"},{"top":"0.055749128848010754","word_num":"0","par_num":"0","width":"0.020348836766912584","line_num":"0","height":"0.006968641205077342","block_num":"0","page_num":"0","conf":"1","left":"0.01453488387504103","text":"Proiect","level":"0"},{"block_num":"0","conf":"1","width":"0.05377906434079438","height":"0.010452960286604362","word_num":"0","page_num":"0","text":"© UserTransformer.php X","left":"0.2529069775607092","line_num":"0","level":"0","top":"0.05574912978701141","par_num":"0"},{"conf":"1","page_num":"0","line_num":"0","text":"© FeatureTransformer.pl","block_num":"0","top":"0.07655502377242651","par_num":"0","level":"0","word_num":"0","width":"0.05232557844608388","left":"0.04651163199788804","height":"0.010552989619010189"},{"height":"0.010452960286604362","width":"0.0508720874786377","word_num":"0","text":"© FieldTransformer.php","top":"0.09407665557098355","line_num":"0","page_num":"0","left":"0.04651163345159443","conf":"1","par_num":"0","block_num":"0","level":"0"},{"left":"0.04651163195424598","conf":"0.5","height":"0.007321518193781906","block_num":"0","page_num":"0","top":"0.11149825835444249","par_num":"0","width":"0.05232557844608388","word_num":"0","text":"(C) FieldValueTransforme","level":"0","line_num":"0"},{"text":"convertLeadAcuviues.ong","left":"0.10610465002114436","top":"0.08362369371499645","level":"0","par_num":"0","page_num":"0","width":"0.052325578446083876","word_num":"0","height":"0.006968640444571572","line_num":"0","block_num":"0","conf":"0.30000001192092896"},{"conf":"0.30000001192092896","level":"0","text":"o roreedsttranstormer.","width":"0.05377906434079433","top":"0.13237639553429026","left":"0.04651162795571776","line_num":"0","word_num":"0","height":"0.0071770334928229484","block_num":"0","par_num":"0","page_num":"0"},{"block_num":"0","text":"© GroupDealRiskTypeTr","page_num":"0","word_num":"0","top":"0.14634146377433943","left":"0.04651163199788804","height":"0.010755824890623433","par_num":"0","conf":"0.5","line_num":"0","level":"0","width":"0.05232557844608388"},{"level":"0","word_num":"0","width":"0.05523255023550483","block_num":"0","conf":"1","left":"0.3139534962761229","par_num":"0","page_num":"0","line_num":"0","text":"T DeleteCrmEntityTrait.php","top":"0.12891986087426455","height":"0.010633568254193926"},{"level":"0","height":"0.010653018190910135","width":"0.049418601583927246","left":"0.29360465022547844","par_num":"0","word_num":"0","conf":"0.5","page_num":"0","line_num":"0","text":"© DeleteAccountJob.php","top":"0.15311004775481918","block_num":"0"},{"word_num":"0","text":"o crouelranstormer.ong","top":"0.16724738709478748","page_num":"0","line_num":"0","par_num":"0","width":"0.05377906434079433","conf":"0.30000001192092896","level":"0","height":"0.006968640444571461","left":"0.04651162795571776","block_num":"0"},{"width":"0.05232557844608387","page_num":"0","text":"© IntegrationTransforme","top":"0.1810207334671603","block_num":"0","height":"0.010616897205796949","left":"0.0465116282399626","line_num":"0","word_num":"0","conf":"1","level":"0","par_num":"0"},{"height":"0.010452960286604362","line_num":"0","text":"PlaybackController.php","conf":"0.5","block_num":"0","width":"0.052325578446083876","word_num":"0","left":"0.10174419013742292","page_num":"0","par_num":"0","top":"0.17770034929920653","level":"0"},{"line_num":"0","block_num":"0","level":"0","height":"0.0071770334928229484","top":"0.18102073365231264","width":"0.02325581236088531","conf":"0.5","word_num":"0","left":"0.1613372112072035","page_num":"0","par_num":"0","text":"php api.php"},{"height":"0.0071770334928229484","line_num":"0","top":"0.18102073365231264","width":"0.05959301806510764","conf":"0.5","left":"0.19186047067240358","par_num":"0","page_num":"0","word_num":"0","level":"0","block_num":"0","text":"(C) InteqrationApp/Service.pho"},{"conf":"1","line_num":"0","page_num":"0","text":"C) LeadConverted.php","height":"0.0071770334928229484","level":"0","top":"0.18102073365231264","par_num":"0","block_num":"0","left":"0.2587209315072932","width":"0.04505813375432438","word_num":"0"},{"width":"0.0523255835188196","page_num":"0","par_num":"0","block_num":"0","height":"0.0073048471453848185","left":"0.046511626608013244","top":"0.20175438613450236","level":"0","text":"C) Invitation I ranstormer.","conf":"0.30000001192092896","line_num":"0","word_num":"0"},{"word_num":"0","conf":"1","height":"0.010452961047110243","text":"© JobTitleTransformer.p","width":"0.052325578446083876","line_num":"0","page_num":"0","level":"0","par_num":"0","left":"0.046511630856241534","block_num":"0","top":"0.2160278747900337"},{"top":"0.20557491325434107","word_num":"0","left":"0.10319768004003041","text":"C) CreateSeltCoachedEvent.php","width":"0.06249999492726427","line_num":"0","par_num":"0","page_num":"0","level":"0","conf":"0.5","block_num":"0","height":"0.007343747018817126"},{"word_num":"0","line_num":"0","page_num":"0","text":"(C) PlanhatActivityListener.php","top":"0.20557491325434107","left":"0.17441861018885438","level":"0","block_num":"0","par_num":"0","height":"0.007343747018817126","conf":"1","width":"0.05959301806510764"},{"level":"0","block_num":"0","page_num":"0","conf":"0.5","top":"0.20557491325434107","par_num":"0","word_num":"0","height":"0.007343747018817126","left":"0.24127907554896272","line_num":"0","text":"(C) AskAnvthingPromptService.php","width":"0.06831394865157758"},{"page_num":"0","height":"0.006968640444571461","top":"0.22996515712963062","level":"0","text":"C)AutomatedReportsRepositorv.ohv","conf":"0.5","line_num":"0","left":"0.10319768156406493","par_num":"0","block_num":"0","width":"0.06976743454628802","word_num":"0"},{"block_num":"0","par_num":"0","height":"0.007268726160271521","text":"C) AutomatedReportsCommand.ohv","top":"0.22966507158551952","word_num":"0","width":"0.07122092551373421","conf":"0.5","left":"0.18168605249485353","level":"0","line_num":"0","page_num":"0"},{"conf":"0.30000001192092896","text":"php api y2.ohd","top":"0.22966507158551952","block_num":"0","par_num":"0","word_num":"0","line_num":"0","width":"0.027616275117752387","left":"0.26017441978186784","page_num":"0","level":"0","height":"0.007268726160271521"},{"conf":"0.5","block_num":"0","height":"0.007268726160271521","line_num":"0","par_num":"0","text":"(C) RequestGenerateReport.Job.ohd","width":"0.06831394865157758","word_num":"0","top":"0.22966507158551952","left":"0.29651162690599014","level":"0","page_num":"0"},{"left":"0.04651162687581557","par_num":"0","top":"0.23684210526315785","level":"0","line_num":"0","height":"0.0071770334928230595","block_num":"0","page_num":"0","text":"C) LanquageDialectirans","conf":"0.5","word_num":"0","width":"0.05232558351881961"},{"top":"0.2508710804142831","width":"0.05232557844608388","left":"0.04651163199788804","line_num":"0","page_num":"0","par_num":"0","word_num":"0","block_num":"0","level":"0","conf":"1","height":"0.010691918064342554","text":"© LayoutEntityTransforn"},{"conf":"0.5","left":"0.10319768002634126","text":"C) AutomatedReportResult.oho","line_num":"0","level":"0","top":"0.2543554009942979","width":"0.059593018065107625","par_num":"0","page_num":"0","word_num":"0","height":"0.007207597461803994","block_num":"0"},{"line_num":"0","page_num":"0","word_num":"0","height":"0.010452960286604362","conf":"1","level":"0","par_num":"0","width":"0.04941860158392722","block_num":"0","text":"© AutomatedReport.php","top":"0.25435540121558287","left":"0.1715116319115245"},{"height":"0.006968641205077342","page_num":"0","left":"0.04651162821559236","conf":"0.5","level":"0","top":"0.2717770034492284","line_num":"0","width":"0.05087209255137343","block_num":"0","par_num":"0","text":"c)Layoutlranstormer.or","word_num":"0"},{"conf":"1","par_num":"0","line_num":"0","width":"0.12936045261139564","page_num":"0","text":"class UserTransformer extends TransformerAbstract","word_num":"0","level":"0","block_num":"0","top":"0.2751196173110231","height":"0.010594667620255849","left":"0.12063954742823071"},{"left":"0.04651162666687271","par_num":"0","top":"0.3066202090247445","width":"0.049418606656662964","conf":"0.30000001192092896","level":"0","height":"0.006968641205077342","page_num":"0","block_num":"0","line_num":"0","text":"c) Messace I ranstorme","word_num":"0"},{"par_num":"0","line_num":"0","text":"C)NoteTranstormer.oho","conf":"0.5","level":"0","width":"0.05087208747863771","word_num":"0","top":"0.34146341496935184","page_num":"0","height":"0.006968640444571461","block_num":"0","left":"0.0465116332228902"},{"level":"0","text":"C) PartnerTransformer.of","top":"0.44577352482515786","block_num":"0","height":"0.007188147525087674","par_num":"0","width":"0.05232558351881961","left":"0.04651162676888036","line_num":"0","page_num":"0","word_num":"0","conf":"0.5"},{"level":"0","top":"0.463317384370016","conf":"0.5","line_num":"0","block_num":"0","left":"0.04651163045025183","text":"© Permission Transforme 207","width":"0.06104650903255381","par_num":"0","height":"0.014354066985645897","word_num":"0","page_num":"0"},{"word_num":"0","left":"0.04651163392347692","height":"0.013937280889143033","top":"0.480836237604209","line_num":"0","level":"0","par_num":"0","width":"0.06249999492726428","block_num":"0","page_num":"0","conf":"1","text":"© PlaybackPageTransfor 208"},{"conf":"0.30000001192092896","height":"0.020886764191744622","line_num":"0","page_num":"0","block_num":"0","par_num":"0","level":"0","left":"0.046282771819573194","text":"@ PlaybookTransformer.| 214","top":"0.492213172284542","width":"0.06291756731398562","word_num":"0"},{"par_num":"0","word_num":"0","block_num":"0","page_num":"0","conf":"1","left":"0.04651163392347692","height":"0.013937280889143033","text":"© PlaybookTreeTransfor 215","top":"0.5156794431791218","width":"0.06249999492726428","line_num":"0","level":"0"},{"line_num":"0","word_num":"0","width":"0.06276454316808823","page_num":"0","top":"0.5293442359614896","text":"PlaylistActivityTransfo 219","block_num":"0","height":"0.018060621842623137","par_num":"0","left":"0.04494447814573273","level":"0","conf":"0.5"},{"width":"0.05232557844608388","par_num":"0","word_num":"0","height":"0.010736374953907224","left":"0.04651163199788804","conf":"1","page_num":"0","block_num":"0","level":"0","line_num":"0","text":"© PlaylistSharesTransfor","top":"0.5502392342775435"},{"height":"0.02143540146628442","line_num":"0","width":"0.06292961506133382","top":"0.5613509470514022","level":"0","block_num":"0","left":"0.04628277042377333","page_num":"0","conf":"0.30000001192092896","par_num":"0","word_num":"0","text":"0 PlavlistTransformer.ph 220"},{"text":"© ProspectsTransformer","left":"0.04651163199788804","word_num":"0","block_num":"0","conf":"1","page_num":"0","height":"0.01049186092054255","par_num":"0","top":"0.5853269537308051","line_num":"0","width":"0.05232557844608388","level":"0"},{"par_num":"0","level":"0","text":"(c) QuestionTranstormer.","page_num":"0","top":"0.6025885068033939","conf":"0.30000001192092896","left":"0.04642626630953892","width":"0.05390592838855499","word_num":"0","line_num":"0","block_num":"0","height":"0.011046960973663533"},{"word_num":"0","level":"0","page_num":"0","conf":"1","block_num":"0","line_num":"0","height":"0.010572439555726287","left":"0.046511633333624174","par_num":"0","text":"© RecordTypeTransform","top":"0.6202090596143536","width":"0.053779064340794346"},{"page_num":"0","left":"0.04642095125481875","line_num":"0","par_num":"0","block_num":"0","top":"0.6374196755844139","width":"0.05100677368488718","word_num":"0","conf":"0.5","level":"0","height":"0.011082714634458757","text":"(e) PoleTransformer.php"},{"text":"© ScopeGroupTransform","line_num":"0","top":"0.6547049441786283","word_num":"0","level":"0","height":"0.011164274322169154","block_num":"0","page_num":"0","width":"0.05232557844608388","left":"0.04651163199788804","conf":"1","par_num":"0"},{"level":"0","word_num":"0","width":"0.055232550235504795","text":"© ScorecardRuleTransfo","height":"0.010678025143758707","conf":"1","left":"0.04651163581100456","block_num":"0","line_num":"0","page_num":"0","par_num":"0","top":"0.6722488038019265"},{"page_num":"0","block_num":"0","left":"0.046511626761643825","conf":"0.30000001192092896","line_num":"0","height":"0.007365975843852457","level":"0","par_num":"0","text":"(C) ScorecardRuleTriageri","top":"0.6929824560019078","width":"0.05232557844608388","word_num":"0"},{"height":"0.003484320602538671","left":"0.04651162801125823","line_num":"0","page_num":"0","par_num":"0","text":"eanrolararironerarmiar","conf":"0.30000001192092896","top":"0.7108013937009908","width":"0.05377906941353007","level":"0","block_num":"0","word_num":"0"},{"left":"0.04651163392347692","height":"0.013937280889143033","width":"0.06249999492726428","line_num":"0","level":"0","conf":"0.30000001192092896","text":"© SearchTransformer.ph ,zs","block_num":"0","page_num":"0","par_num":"0","top":"0.7247386769770312","word_num":"0"},{"word_num":"0","page_num":"0","width":"0.06249998985452855","level":"0","left":"0.04651163792024965","top":"0.7456140349691501","line_num":"0","conf":"0.30000001192092896","block_num":"0","par_num":"0","height":"0.010483525776596836","text":"© SessionTranstormer.pl 2zol"},{"line_num":"0","block_num":"0","top":"0.7630662022542091","width":"0.05232557844608388","word_num":"0","par_num":"0","text":"c) StageTranstormer.ohp","height":"0.00726872616027141","left":"0.046511626761643825","level":"0","page_num":"0","conf":"0.5"},{"width":"0.05232557844608388","text":"© StatsTransformer.ohp","left":"0.04651163199788804","height":"0.010741931970039587","level":"0","line_num":"0","block_num":"0","page_num":"0","conf":"0.5","par_num":"0","top":"0.7767145136155893","word_num":"0"},{"width":"0.06416652557697702","height":"0.015281056673332905","line_num":"0","page_num":"0","word_num":"0","block_num":"0","left":"0.044975039744107985","conf":"0.30000001192092896","text":"C) TeamDomainTransforr","level":"0","par_num":"0","top":"0.7937550106623523"},{"par_num":"0","text":"9 Teamintegration Trans","left":"0.045058138244912845","block_num":"0","word_num":"0","height":"0.013937280889143033","top":"0.8083623696599581","level":"0","line_num":"0","width":"0.05377906941353006","page_num":"0","conf":"0.5"},{"left":"0.04497633555140689","level":"0","block_num":"0","conf":"0.5","page_num":"0","height":"0.015028641744853966","par_num":"0","text":"P TeamTransformer.php s","width":"0.06415266179023904","word_num":"0","top":"0.8289727106415486","line_num":"0"},{"page_num":"0","text":"C)ThemeTransformer.oh","left":"0.04651163330925373","top":"0.8501742163630801","width":"0.05377906434079434","line_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461","word_num":"0","par_num":"0","block_num":"0","level":"0"},{"block_num":"0","conf":"0.30000001192092896","word_num":"0","text":"C) Topictransformer.oho","top":"0.8675958187199364","left":"0.04651162676888036","line_num":"0","par_num":"0","level":"0","height":"0.007204819333990642","width":"0.05232558351881961","page_num":"0"},{"height":"0.010516867873391123","par_num":"0","width":"0.06249998985452855","word_num":"0","conf":"0.5","level":"0","left":"0.046511637793004934","block_num":"0","text":"© TopicTriggerTransforn .co","top":"0.8850174223486964","page_num":"0","line_num":"0"},{"conf":"0.5","width":"0.061046503959818095","level":"0","line_num":"0","block_num":"0","top":"0.9024390252487713","word_num":"0","page_num":"0","height":"0.010639124509820519","par_num":"0","left":"0.04651163577598338","text":"© TrackTransformer.php .cd"},{"top":"0.9198606275129059","par_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.04651163335204864","word_num":"0","height":"0.006968640444571461","width":"0.05087208747863768","level":"0","line_num":"0","page_num":"0","text":"(c) UcerTransformer nhn"},{"conf":"1","left":"0.13081396663561243","block_num":"0","page_num":"0","par_num":"0","top":"0.3101045298942847","height":"0.0104696328560131","line_num":"0","text":"public function transform(User $user): arrayf...}","level":"0","word_num":"0","width":"0.12936045261139564"},{"level":"0","text":"public function includeTeam(User $user): Itemf...}","width":"0.1308139334333704","word_num":"0","top":"0.3449477358686506","conf":"1","height":"0.010714146128872004","block_num":"0","left":"0.13081396045474158","page_num":"0","line_num":"0","par_num":"0"},{"left":"0.1308139596416482","text":"public function includeGroup(User Suser): ?Item{...}","top":"0.3795853269186489","word_num":"0","page_num":"0","height":"0.010658575207042498","block_num":"0","par_num":"0","width":"0.13662788715768368","conf":"1","level":"0","line_num":"0"},{"left":"0.13081397094348063","height":"0.010452961047110132","par_num":"0","text":"public function includeJob(User Suser): ?Item{...}","line_num":"0","block_num":"0","word_num":"0","conf":"1","top":"0.41463414656703734","width":"0.13226742440081657","level":"0","page_num":"0"},{"par_num":"0","text":"public function includeRoles(User Suser): Resource Collection{...}","top":"0.4494773517799092","left":"0.1308139590055004","width":"0.17296511061648107","level":"0","block_num":"0","page_num":"0","word_num":"0","conf":"1","line_num":"0","height":"0.010650240063096894"},{"page_num":"0","conf":"1","level":"0","par_num":"0","top":"0.48405103673231165","left":"0.13081396330619857","width":"0.18895348082197475","height":"0.010722482033323377","word_num":"0","text":"public function includePermissions(User Suser): Resource\\Collectionf...}","line_num":"0","block_num":"0"},{"text":"public function includeIntegrations(User Suser): Itemf...}","left":"0.1308139552979615","word_num":"0","block_num":"0","par_num":"0","conf":"0.5","level":"0","width":"0.15261627765412025","page_num":"0","top":"0.5191387560984652","line_num":"0","height":"0.010477967999958815"},{"conf":"0.30000001192092896","top":"0.5574162679425837","width":"0.01598837020549368","word_num":"0","level":"0","text":"1 usage","page_num":"0","left":"0.13081395376804297","height":"0.0071770334928229484","par_num":"0","line_num":"0","block_num":"0"},{"conf":"1","left":"0.13081396198225503","level":"0","text":"private function getTeamTransformer(: TransformerAbstracts...}","top":"0.5714285717872887","line_num":"0","height":"0.010708589112739642","width":"0.16569766592472157","word_num":"0","page_num":"0","par_num":"0","block_num":"0"},{"height":"0.010658575207042498","line_num":"0","par_num":"0","left":"0.13081395376804297","block_num":"0","top":"0.6097560978743086","page_num":"0","conf":"1","text":"1 usage","level":"0","word_num":"0","width":"0.01598837020549368"},{"word_num":"0","block_num":"0","left":"0.13081395637529608","line_num":"0","conf":"1","height":"0.014354066985646008","width":"0.15988370205493685","text":"private function getGroupTransformer(): GroupTransformer{...}","page_num":"0","level":"0","par_num":"0","top":"0.6236044657097288"},{"line_num":"0","page_num":"0","height":"0.0104696328560131","top":"0.6794258372497021","word_num":"0","block_num":"0","level":"0","conf":"1","text":"private function getIntegrationsTransformer: IntegrationTransformer(...}","width":"0.19331392328789895","par_num":"0","left":"0.13081396435745177"},{"conf":"1","top":"0.731707317588543","level":"0","par_num":"0","width":"0.18604649888708236","block_num":"0","left":"0.130813951495376","page_num":"0","word_num":"0","height":"0.010716925017191126","line_num":"0","text":"private function getPermissionTransformer: PermissionTransformer(...}"},{"top":"0.7838915468891487","height":"0.01053353968229409","conf":"1","width":"0.15552323929806972","word_num":"0","line_num":"0","left":"0.13081397000425454","level":"0","page_num":"0","par_num":"0","block_num":"0","text":"private function getRoleTransformer: RoleTransformer{...}"},{"page_num":"0","conf":"1","level":"0","line_num":"0","par_num":"0","text":"private function getJobTitleTransformer(: JobTitleTransformer{...}","top":"0.8362369346087396","word_num":"0","height":"0.010653017430404366","width":"0.1758720722604305","left":"0.13081395666398982","block_num":"0"},{"width":"0.15552323929806972","level":"0","left":"0.13081397000425454","line_num":"0","page_num":"0","conf":"0.5","block_num":"0","par_num":"0","word_num":"0","top":"0.8883572567028115","text":"private function getSidekickService@: SidekickService(...}","height":"0.01059744650857497"},{"page_num":"0","height":"0.010589111364629256","left":"0.13081395853124095","par_num":"0","text":"private function getUserService@: UserService'...","top":"0.9407665506071062","width":"0.1337209255137342","level":"0","block_num":"0","word_num":"0","line_num":"0","conf":"0.5"},{"block_num":"0","left":"0.040697675577357234","top":"0.9545454545454546","page_num":"0","conf":"0.5","line_num":"0","par_num":"0","text":"(C) Kernel nhr","height":"0.0071770334928229484","level":"0","width":"0.027616277654120266","word_num":"0"},{"block_num":"0","text":"() DlavlistTrackRecourceTre","height":"0.010625232349742553","conf":"0.30000001192092896","top":"0.9686411155085501","width":"0.059593018065107625","word_num":"0","line_num":"0","level":"0","left":"0.03924418562442647","par_num":"0","page_num":"0"},{"top":"0.9860627177229964","height":"0.006968641205077342","block_num":"0","conf":"0.5","line_num":"0","page_num":"0","left":"0.004360470760310819","par_num":"0","text":"Workenace accociated with hranch \"IY.20272-ai-renorts-nromotion-nades' hac heon rectored /l Pollback Il Confiaure (a minute ado","width":"0.2543604627568671","level":"0","word_num":"0"},{"line_num":"0","page_num":"0","width":"0.008720929318285997","par_num":"0","level":"0","left":"0.3793604660094616","conf":"1","block_num":"0","text":"630","top":"0.45644599355007764","word_num":"0","height":"0.010452960286604251"},{"conf":"0.5","left":"0.3793604660094616","width":"0.008720929318285997","height":"0.010452960286604251","par_num":"0","text":"632","level":"0","line_num":"0","top":"0.4912891991249906","page_num":"0","word_num":"0","block_num":"0"},{"page_num":"0","par_num":"0","conf":"1","block_num":"0","left":"0.3793604660094616","line_num":"0","text":"634","top":"0.5261324046999035","width":"0.008720929318285997","word_num":"0","height":"0.010452960286604251","level":"0"},{"level":"0","conf":"0.30000001192092896","text":"- 636","block_num":"0","line_num":"0","top":"0.5470383285747976","word_num":"0","height":"0.02792179831667574","width":"0.014534883042599256","page_num":"0","par_num":"0","left":"0.37500000063896116"},{"page_num":"0","height":"0.010452961047110243","top":"0.6132404182569327","width":"0.008720929952377943","block_num":"0","left":"0.3793604652079195","level":"0","line_num":"0","par_num":"0","conf":"1","text":"639","word_num":"0"},{"top":"0.6480836245605305","width":"0.008720929318285997","block_num":"0","line_num":"0","level":"0","text":"641","conf":"1","height":"0.010452960286604362","word_num":"0","page_num":"0","par_num":"0","left":"0.37936046513736865"},{"page_num":"0","text":"643","block_num":"0","height":"0.013937280889143033","level":"0","par_num":"0","word_num":"0","conf":"1","line_num":"0","left":"0.3793604660094616","top":"0.6829268295902716","width":"0.008720929318285997"},{"line_num":"0","par_num":"0","top":"0.6898954705623084","page_num":"0","level":"0","height":"0.024390243457264926","conf":"0.30000001192092896","word_num":"0","width":"0.014534883042599256","text":"Т644","block_num":"0","left":"0.3750000005208516"},{"block_num":"0","word_num":"0","page_num":"0","line_num":"0","height":"0.17421601947985188","left":"0.3735465081511966","conf":"0.30000001192092896","level":"0","par_num":"0","text":"73,873,37837","top":"0.7142857163053703","width":"0.015988379082781223"},{"conf":"1","height":"0.010452961047110132","line_num":"0","left":"0.41860465263734187","level":"0","width":"0.026162789223041938","par_num":"0","top":"0.055749129145434506","word_num":"0","page_num":"0","text":"= laravel.log","block_num":"0"},{"conf":"0.30000001192092896","word_num":"0","text":"4 SF [iminny@localhost]","left":"0.4534883726893259","width":"0.049418601583927246","page_num":"0","par_num":"0","height":"0.010452961047110132","block_num":"0","line_num":"0","top":"0.05574912931965048","level":"0"},{"par_num":"0","level":"0","conf":"0.5","width":"0.06104650395981803","left":"0.511627908540182","word_num":"0","block_num":"0","line_num":"0","text":"« HS_local [jiminny@localhost]","page_num":"0","top":"0.05574912978701141","height":"0.010452960286604362"},{"conf":"0.5","par_num":"0","width":"0.021802323929806966","word_num":"0","text":"Tx: Autov","page_num":"0","block_num":"0","level":"0","left":"0.44186046489619607","height":"0.014354066985645897","line_num":"0","top":"0.0797448165869219"},{"block_num":"0","left":"0.39970930285716394","level":"0","par_num":"0","text":"SELECT * FROM com profiles co JOIN users u 1..n<->1: on u.id = co.user id WHERE u.team id = 711÷","line_num":"0","word_num":"0","conf":"0.5","top":"0.12195122037934591","height":"0.010452960286604362","page_num":"0","width":"0.24709299777416477"},{"conf":"0.30000001192092896","block_num":"0","line_num":"0","left":"0.399709305086553","height":"0.007185368636768663","page_num":"0","par_num":"0","width":"0.052325573373348144","word_num":"0","level":"0","text":"select * from leads.","top":"0.1602787460943993"},{"word_num":"0","page_num":"0","conf":"0.5","line_num":"0","left":"0.3997093098749992","block_num":"0","level":"0","par_num":"0","height":"0.006968640444571461","text":"sellect * from callendans.","top":"0.1951219515547178","width":"0.06395348082197477"},{"conf":"0.5","width":"0.017441858636571994","text":"SELECT","left":"0.39970930236776053","line_num":"0","par_num":"0","page_num":"0","top":"0.22996515712963062","block_num":"0","height":"0.006968640444571461","level":"0","word_num":"0"},{"page_num":"0","height":"0.0071770334928229484","block_num":"0","left":"0.4113372130220723","text":"+.id AS team idl","top":"0.24720893141945777","width":"0.0406976709974573","level":"0","par_num":"0","word_num":"0","conf":"0.5","line_num":"0"},{"conf":"0.5","height":"0.007365975843852457","line_num":"0","page_num":"0","level":"0","left":"0.3997093059966503","text":"EROM teams +1","par_num":"0","top":"0.29965156815423977","word_num":"0","width":"0.0334302288420657","block_num":"0"},{"line_num":"0","top":"0.3484320559747027","text":"tEeT IOTN +oam domnine +d","word_num":"0","height":"0.010452961047110243","left":"0.39970930558972995","conf":"0.30000001192092896","page_num":"0","block_num":"0","par_num":"0","width":"0.06686046275686713","level":"0"},{"height":"0.0071770334928229484","top":"0.3692185007974482","word_num":"0","page_num":"0","par_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.41133720767587245","level":"0","text":"OM +d toam id = + id","width":"0.05232558351881961","line_num":"0"},{"text":"AND td.deleted at IS NULL","par_num":"0","line_num":"0","height":"0.010452960286604362","block_num":"0","word_num":"0","page_num":"0","level":"0","left":"0.41133721456646866","top":"0.3867595824002519","conf":"1","width":"0.0654069717894209"},{"level":"0","par_num":"0","height":"0.010736374953907224","block_num":"0","left":"0.401162799886009","page_num":"0","word_num":"0","width":"0.08575580475178168","conf":"1","line_num":"0","text":"ORDER BY t.name, calendar domain:","top":"0.4390243905943333"},{"conf":"0.5","block_num":"0","height":"0.010514089745577881","text":"where u.team id = 882:","word_num":"0","left":"0.39970930419844336","line_num":"0","par_num":"0","level":"0","page_num":"0","width":"0.05813952709766146","top":"0.4912280701800871"},{"page_num":"0","height":"0.010672467367120464","level":"0","par_num":"0","line_num":"0","text":"select * from activities where id = 74049485: # team 563 crm 537","block_num":"0","top":"0.5435540077887459","word_num":"0","conf":"1","left":"0.39970929324256294","width":"0.1671511568921678"},{"conf":"1","width":"0.07994185102746842","text":"select * from activities where","word_num":"0","block_num":"0","page_num":"0","top":"0.5644599307143667","height":"0.007310404161517181","left":"0.39970930371508656","level":"0","line_num":"0","par_num":"0"},{"text":"id = 73272382: # team 563 crm 537","line_num":"0","block_num":"0","height":"0.011164274322169154","page_num":"0","word_num":"0","level":"0","par_num":"0","top":"0.5606060606060606","left":"0.47965117637190513","width":"0.08866277654120258","conf":"0.5"},{"width":"0.1308139435788419","conf":"0.5","text":"activities where id = 64400389: # team 563 com 537.","left":"0.43604652151072254","par_num":"0","page_num":"0","word_num":"0","line_num":"0","height":"0.010700253208288268","top":"0.5781499202830295","block_num":"0","level":"0"},{"level":"0","height":"0.006968640444571461","text":"select * From activitles","width":"0.0668604576841314","conf":"0.30000001192092896","page_num":"0","left":"0.3997093097564787","par_num":"0","block_num":"0","top":"0.5993031362237073","word_num":"0","line_num":"0"},{"par_num":"0","top":"0.5956937798195339","height":"0.010577996571858761","level":"0","line_num":"0","conf":"0.5","page_num":"0","left":"0.4811046579391008","text":"id = 58081273: # team 563 com 537","word_num":"0","width":"0.08720929571922792","block_num":"0"},{"par_num":"0","page_num":"0","left":"0.39970931591201536","line_num":"0","level":"0","height":"0.013940059777462044","width":"0.16860463771414252","text":"select * from activities where id = 54520297; # team 563 crm 537","conf":"1","block_num":"0","top":"0.6132376395395515","word_num":"0"},{"level":"0","block_num":"0","height":"0.0071770334928229484","top":"0.6339712918660287","text":"select * from narticinants where activitv 1d = 580812731","page_num":"0","left":"0.3997093040238765","line_num":"0","width":"0.14534882281688932","word_num":"0","conf":"1","par_num":"0"},{"level":"0","height":"0.007246497335236302","line_num":"0","left":"0.39970929668568606","par_num":"0","top":"0.6689895473543103","conf":"0.5","block_num":"0","text":"select * from activities where erm confiauration id = 537 and nroviden = taircall!","width":"0.21366277654120264","page_num":"0","word_num":"0"},{"conf":"0.5","level":"0","block_num":"0","top":"0.6864111501609896","word_num":"0","text":"and account id = 10AA3AS8 onden hv undated at decc•","width":"0.13226742440081662","page_num":"0","height":"0.006968640444571461","par_num":"0","left":"0.4011628081203845","line_num":"0"},{"par_num":"0","block_num":"0","left":"0.3997093027719145","conf":"0.5","line_num":"0","text":"select * from contacts where crm_configuration_id = 537 and id = 35957759;","top":"0.7208931419457735","width":"0.1933139435788419","page_num":"0","word_num":"0","height":"0.011164274322169154","level":"0"},{"left":"0.3997093155382883","height":"0.0073048471453847075","conf":"0.5","width":"0.12354649888708241","level":"0","word_num":"0","top":"0.7909407668943288","text":"colort * fnom automatod nononte wheno id = 597.","line_num":"0","page_num":"0","par_num":"0","block_num":"0"},{"top":"0.8083623696731846","left":"0.40116280637907786","block_num":"0","width":"0.12790696164394944","conf":"0.30000001192092896","line_num":"0","page_num":"0","par_num":"0","word_num":"0","height":"0.006968640444571461","text":"coloAt d Enom ontiuity coonahod ubono 4d = 0771/.","level":"0"},{"block_num":"0","top":"0.8221690591125324","text":"select * from activity_search_filters where activity_search_id = 87714;","line_num":"0","page_num":"0","width":"0.1875","height":"0.017552194793068354","conf":"1","word_num":"0","level":"0","left":"0.39970930410458005","par_num":"0"},{"page_num":"0","width":"0.23255812868158865","word_num":"0","par_num":"0","block_num":"0","left":"0.39970930560723406","top":"0.8604465710457575","text":"SELECT * FROM activities WHERE uuid to_bin('8827f672-202d-4162-9d04-73ff5f0566a9') = uuid","line_num":"0","conf":"1","level":"0","height":"0.010633568254194037"},{"par_num":"0","block_num":"0","level":"0","width":"0.15988370205493685","line_num":"0","top":"0.8779904306220095","word_num":"0","page_num":"0","conf":"0.30000001192092896","text":"An nusd +o hánt1/701211L,OGC1, AhAh QClE,AALELA2001011) emudd","left":"0.40116280949186534","height":"0.0071770334928229484"},{"top":"0.05574912978701141","conf":"0.5","level":"0","width":"0.031976740410987414","word_num":"0","block_num":"0","left":"0.6264534891029198","page_num":"0","par_num":"0","height":"0.010452960286604362","line_num":"0","text":"A console [EU]"},{"conf":"0.5","page_num":"0","line_num":"0","level":"0","par_num":"0","left":"0.6656976801975942","height":"0.010452960286604362","top":"0.05574912943857935","width":"0.045058133754324436","text":"A console [STAGING]","block_num":"0","word_num":"0"},{"par_num":"0","block_num":"0","word_num":"0","left":"0.6976744180600943","top":"0.08013937275547522","line_num":"0","page_num":"0","height":"0.006968641205077342","conf":"0.30000001192092896","level":"0","text":"Miiminny","width":"0.023255814897253146"},{"height":"0.01059744650857497","par_num":"0","level":"0","left":"0.6526162824919332","page_num":"0","block_num":"0","line_num":"0","word_num":"0","top":"0.10104529661439754","conf":"0.30000001192092896","width":"0.06976743961902376","text":"* 037 A1 A35 Y63 ^ V"},{"top":"0.05574912943857935","block_num":"0","left":"0.7296511645770627","level":"0","word_num":"0","page_num":"0","height":"0.010452960286604362","line_num":"0","par_num":"0","text":"Cascade","conf":"1","width":"0.017441858636571994"},{"conf":"1","left":"0.7281976756219521","level":"0","top":"0.08362369354010668","word_num":"0","text":"New Cascade","height":"0.007285397208668498","par_num":"0","width":"0.029069766085198623","line_num":"0","page_num":"0","block_num":"0"},{"conf":"0.30000001192092896","level":"0","left":"0.8575581397763615","text":"$0","page_num":"0","par_num":"0","block_num":"0","top":"0.00000000004986444590571182","width":"0.013081394611521024","height":"0.017421602252187474","word_num":"0","line_num":"0"},{"conf":"0.30000001192092896","top":"0.006968641098971218","line_num":"0","level":"0","par_num":"0","height":"0.006968641205077342","left":"0.9127906980217457","text":"100% 5","width":"0.018895348335834172","word_num":"0","page_num":"0","block_num":"0"},{"conf":"1","height":"0.01074748898617195","width":"0.04651162472177062","level":"0","text":"Mon 27 Apr 18:42:14","line_num":"0","word_num":"0","left":"0.9476744221943781","par_num":"0","page_num":"0","top":"0.0031897926052030234","block_num":"0"},{"line_num":"0","text":"AutomatedReportsRepositoryTestv","top":"0.02787456497864904","conf":"1","page_num":"0","par_num":"0","block_num":"0","height":"0.010452960286604362","width":"0.07558138827060124","level":"0","left":"0.8357558212716757","word_num":"0"},{"par_num":"0","text":"+0 ..","line_num":"0","word_num":"0","block_num":"0","width":"0.020348834230544677","conf":"0.30000001192092896","top":"0.0797448165869219","left":"0.965116281891486","level":"0","page_num":"0","height":"0.011164274322169043"},{"width":"0.05813952709766146","left":"0.8270348914572385","word_num":"0","level":"0","page_num":"0","text":"Cascade Codex","block_num":"0","par_num":"0","conf":"0.5","line_num":"0","height":"0.0106002246363881","top":"0.5015948964748529"},{"par_num":"0","line_num":"0","conf":"1","text":"Kick off a new project. Make changes","width":"0.07412789730315517","top":"0.5156794431791218","word_num":"0","block_num":"0","level":"0","height":"0.013937280889143033","page_num":"0","left":"0.8197674515202297"},{"page_num":"0","par_num":"0","height":"0.007318740065968665","conf":"1","line_num":"0","block_num":"0","top":"0.7247386760879999","text":"Automated Reports Duplication","word_num":"0","left":"0.732558137989942","level":"0","width":"0.06395349096744618"},{"text":"© HubSpot Rate Limiter Implementation","level":"0","block_num":"0","width":"0.07558138827060124","word_num":"0","page_num":"0","conf":"1","height":"0.010483525016091066","line_num":"0","left":"0.7325581466130962","top":"0.7456140351751869","par_num":"0"},{"level":"0","width":"0.05232558351881966","left":"0.9258720916618637","page_num":"0","line_num":"0","word_num":"0","block_num":"0","height":"0.0071770334928229484","conf":"0.30000001192092896","text":"existsuser->getldo ..","par_num":"0","top":"0.9059011164274322"},{"text":"— eliminates the query entirely.","word_num":"0","page_num":"0","width":"0.06104650395981803","level":"0","par_num":"0","top":"0.9370015950599712","conf":"0.5","block_num":"0","left":"0.7311046527212843","height":"0.010733596065588213","line_num":"0"},{"level":"0","top":"0.9545454545454546","width":"0.04505813882706011","block_num":"0","par_num":"0","text":"Claude Qnus 4.7 Medium","word_num":"0","page_num":"0","height":"0.0071770334928229484","left":"0.7587209307917525","line_num":"0","conf":"0.5"},{"text":"W Windsurf Teams 52-8","block_num":"0","left":"0.8953488399115649","page_num":"0","top":"0.9860627177344046","width":"0.05523255530824056","conf":"0.30000001192092896","level":"0","word_num":"0","par_num":"0","line_num":"0","height":"0.006968641205077342"},{"left":"0.9505813956153283","block_num":"0","height":"0.006968641205077342","level":"0","text":"UTE.8","page_num":"0","line_num":"0","word_num":"0","par_num":"0","top":"0.9860627176901443","width":"0.014534883042599311","conf":"0.30000001192092896"},{"top":"0.986062718234409","conf":"0.30000001192092896","left":"0.969476748236339","line_num":"0","height":"0.01074748898617195","level":"0","block_num":"0","par_num":"0","text":"io 4 spaces","width":"0.024709298255595757","page_num":"0","word_num":"0"}]...
|
PhpStorm
|
AppleNative
|
faVsco.js – UserTransformer.php
|
1
|
4336
|
NULL
|
NULL
|
|
89161
|
iTerm2ShellEdit ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKERDEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O0 84-zsh885100% <7Mon 27 Apr 18:46:09181ec2-user@ip-10-30-95-134:...• *666++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"left":"0.033430232229750306", [{"left":"0.033430232229750306","conf":"1","level":"0","page_num":"0","par_num":"0","width":"0.03633720874786377","top":"0.006976744645528443","text":"iTerm2","line_num":"0","word_num":"0","block_num":"0","height":"0.013953487608167836"},{"conf":"1","line_num":"0","page_num":"0","text":"Shell","top":"0.006976744412970359","block_num":"0","height":"0.013953487608167836","width":"0.031976742214626735","word_num":"0","level":"0","left":"0.08284883872795794","par_num":"0"},{"level":"0","line_num":"0","page_num":"0","word_num":"0","par_num":"0","height":"0.018129467434353397","left":"0.11617569194630452","width":"0.053985823525322815","top":"0.0037259641357089146","conf":"0.5","block_num":"0","text":"Edit View"},{"width":"0.034883719020419646","conf":"1","level":"0","line_num":"0","par_num":"0","block_num":"0","height":"0.013953487608167836","left":"0.18168604790258086","text":"Session","top":"0.0069767444517300214","page_num":"0","word_num":"0"},{"left":"0.2296406737588108","text":"Scripts","height":"0.014077084859212219","line_num":"0","block_num":"0","conf":"0.5","page_num":"0","width":"0.031997723049587645","word_num":"0","top":"0.006914945827753649","par_num":"0","level":"0"},{"par_num":"0","page_num":"0","top":"0.006853316216056116","word_num":"0","level":"0","conf":"1","line_num":"0","text":"Profiles","left":"0.27323585639556563","block_num":"0","height":"0.014200344085693373","width":"0.033470148510403086"},{"word_num":"0","par_num":"0","top":"0.006976744645528443","height":"0.013953487608167836","left":"0.31831395315998284","line_num":"0","level":"0","block_num":"0","page_num":"0","text":"Window","width":"0.03633720874786378","conf":"1"},{"par_num":"0","height":"0.013953487608167836","conf":"1","left":"0.36773255878967304","page_num":"0","block_num":"0","width":"0.02034883631600276","text":"Help","word_num":"0","level":"0","top":"0.006976744474985863","line_num":"0"},{"word_num":"0","height":"0.014496124055650483","conf":"1","left":"0.47529069803997187","level":"0","par_num":"0","block_num":"0","page_num":"0","text":"APP (-zsh)","line_num":"0","top":"0.03666666662527551","width":"0.049418603049384224"},{"block_num":"0","line_num":"0","top":"0.06511627921917185","width":"0.03488371902041965","height":"0.013953487608167947","left":"0.050872094365759145","conf":"1","level":"0","par_num":"0","text":"DOCKER","word_num":"0","page_num":"0"},{"level":"0","text":"DEV (docker)","left":"0.2107558135640147","conf":"1","block_num":"0","page_num":"0","line_num":"0","par_num":"0","width":"0.05087209277682833","top":"0.0674418609589309","word_num":"0","height":"0.011627906163533597"},{"block_num":"0","text":"₴82","conf":"0.30000001192092896","line_num":"0","level":"0","left":"0.30813953472970373","word_num":"0","page_num":"0","height":"0.011627907223171752","top":"0.06744186045818157","par_num":"0","width":"0.014534884028964579"},{"line_num":"0","block_num":"0","width":"0.040697672632005466","height":"0.011627906163533597","word_num":"0","conf":"0.5","left":"0.3793604658741403","text":"APP (-zsh)","page_num":"0","par_num":"0","top":"0.0674418609589309","level":"0"},{"left":"0.47238372128431727","width":"0.013081394301520444","top":"0.06511627921917185","word_num":"0","level":"0","height":"0.013953487608167947","line_num":"0","conf":"0.30000001192092896","page_num":"0","block_num":"0","par_num":"0","text":"83"},{"width":"0.048017358779907204","top":"0.0648826047097042","height":"0.014420836766560807","word_num":"0","conf":"1","level":"0","page_num":"0","line_num":"0","block_num":"0","left":"0.5348576004786272","par_num":"0","text":"screenpipe\""},{"text":"front-end/src/components/AiReports/Manage/__tests_","line_num":"0","width":"0.2790697521633572","block_num":"0","word_num":"0","conf":"1","height":"0.016279069052802186","level":"0","page_num":"0","par_num":"0","top":"0.09069767473716484","left":"0.008720942522972407"},{"left":"0.2863372117089401","page_num":"0","conf":"1","height":"0.01860465155707458","word_num":"0","width":"0.14098837110731333","line_num":"0","par_num":"0","block_num":"0","level":"0","text":"_/ManageAiReports.spec.js","top":"0.0906976745315402"},{"height":"0.016279069052802186","par_num":"0","line_num":"0","page_num":"0","level":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","width":"0.44622090657552077","block_num":"0","left":"0.00872094763883828","word_num":"0","conf":"1","top":"0.1093023258515059"},{"par_num":"0","block_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","line_num":"0","height":"0.016279069052802186","width":"0.5232557932535807","page_num":"0","conf":"1","left":"0.008720945815069964","top":"0.13023255838057568","level":"0","word_num":"0"},{"level":"0","page_num":"0","par_num":"0","left":"0.00872092909910249","block_num":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","conf":"1","height":"0.018604651557074692","line_num":"0","top":"0.1488372093377417","word_num":"0","width":"0.6002906799316406"},{"left":"0.008720941327598099","par_num":"0","block_num":"0","conf":"1","line_num":"0","height":"0.018604651557074692","level":"0","text":"front-end/src/components/AiReports/constants.js","top":"0.16976744197340066","word_num":"0","page_num":"0","width":"0.26308138105604384"},{"height":"0.01860465155707458","conf":"1","par_num":"0","top":"0.18837209251603637","level":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","width":"0.4127906799316406","word_num":"0","block_num":"0","line_num":"0","page_num":"0","left":"0.008720944627202777"},{"width":"0.4069767422146267","word_num":"0","page_num":"0","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","conf":"1","height":"0.01860465155707458","block_num":"0","left":"0.008720936305477206","level":"0","line_num":"0","top":"0.20930232526797432"},{"line_num":"0","width":"0.35755814446343315","word_num":"0","height":"0.016279069052802186","top":"0.2302325584096454","block_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","page_num":"0","left":"0.00872093223776006","conf":"1","level":"0","par_num":"0"},{"level":"0","left":"0.008720934875787774","line_num":"0","page_num":"0","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","top":"0.2488372089889045","block_num":"0","width":"0.35174418555365666","height":"0.018604651557074692","conf":"1","word_num":"0"},{"left":"0.008720937779436768","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","word_num":"0","width":"0.4854651133219401","conf":"1","block_num":"0","par_num":"0","page_num":"0","height":"0.01860465155707458","level":"0","top":"0.26976744154704413","line_num":"0"},{"level":"0","par_num":"0","left":"0.008720939940422036","word_num":"0","top":"0.29069767465964547","page_num":"0","conf":"1","width":"0.3793604532877604","block_num":"0","height":"0.016279069052802075","line_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js"},{"left":"0.008720948847176679","conf":"1","line_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","height":"0.01860465155707458","page_num":"0","width":"0.3851743910047743","block_num":"0","word_num":"0","top":"0.3093023252679743","level":"0"},{"left":"0.01017442358565618","page_num":"0","block_num":"0","height":"0.011627906163533597","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","top":"0.3325581400286983","conf":"1","width":"0.27180230882432727","line_num":"0","word_num":"0","level":"0"},{"height":"0.013953487608167836","width":"0.1061046494377984","level":"0","line_num":"0","text":"__mocks__/nudges.js","left":"0.2805232549080388","block_num":"0","page_num":"0","top":"0.3325581400718851","word_num":"0","conf":"0.5","par_num":"0"},{"height":"0.01860465155707458","top":"0.3488372088726255","line_num":"0","word_num":"0","level":"0","left":"0.008720944988524652","page_num":"0","par_num":"0","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","width":"0.4622092776828342","conf":"1"},{"height":"0.01860465155707458","left":"0.008720943423469624","level":"0","par_num":"0","conf":"1","block_num":"0","top":"0.3697674416633232","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","word_num":"0","line_num":"0","page_num":"0","width":"0.3183139377170139"},{"left":"0.008720939432180469","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","top":"0.3883720938223495","conf":"1","width":"0.31540696885850694","word_num":"0","block_num":"0","level":"0","page_num":"0","height":"0.020930230882432732","par_num":"0"},{"conf":"1","line_num":"0","par_num":"0","height":"0.018604651557074692","page_num":"0","left":"0.32994186531367026","width":"0.2790697521633572","level":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","word_num":"0","block_num":"0","top":"0.36976744175634635"},{"conf":"1","block_num":"0","height":"0.01860465155707458","left":"0.329941858342544","text":"/__snapshots__/saved-search-modal.output.html","page_num":"0","top":"0.3883720925160363","width":"0.25145348442925347","par_num":"0","word_num":"0","line_num":"0","level":"0"},{"word_num":"0","height":"0.018604651557074692","level":"0","block_num":"0","top":"0.4093023252679743","width":"0.32412789662679037","line_num":"0","left":"0.008720939459133782","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","page_num":"0","conf":"1"},{"left":"0.008720945245547382","word_num":"0","par_num":"0","page_num":"0","width":"0.36773253546820744","height":"0.016279069052802075","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","line_num":"0","top":"0.4302325583805757","level":"0","conf":"1"},{"width":"0.4854651133219401","left":"0.008720939802207934","block_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","top":"0.4488372090276642","conf":"1","height":"0.01860465155707458","level":"0","line_num":"0","par_num":"0","page_num":"0"},{"line_num":"0","top":"0.4697674423340641","width":"0.49709298875596786","conf":"1","height":"0.016279069052802075","page_num":"0","word_num":"0","left":"0.007267450825504717","block_num":"0","level":"0","par_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache"},{"block_num":"0","level":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","par_num":"0","width":"0.245639525519477","line_num":"0","conf":"1","top":"0.49069767467902525","page_num":"0","word_num":"0","height":"0.016279069052802186","left":"0.008720936961676194"},{"par_num":"0","top":"0.509302325306734","width":"0.3241278966267904","word_num":"0","page_num":"0","height":"0.01860465155707458","conf":"1","left":"0.008720940809666643","level":"0","block_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","line_num":"0"},{"par_num":"0","left":"0.008720944263830709","line_num":"0","block_num":"0","level":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","conf":"1","width":"0.4127906799316406","word_num":"0","top":"0.5302325584096454","page_num":"0","height":"0.016279069052802186"},{"height":"0.018604651557074692","line_num":"0","word_num":"0","par_num":"0","conf":"1","left":"0.007267443399245208","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","top":"0.548837209182703","width":"0.3808139377170139","page_num":"0","level":"0","block_num":"0"},{"left":"0.00872094066747218","height":"0.018604651557074692","block_num":"0","par_num":"0","conf":"1","top":"0.5697674415470441","page_num":"0","word_num":"0","line_num":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","level":"0","width":"0.26308138105604384"},{"par_num":"0","page_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","block_num":"0","height":"0.016279069052802297","top":"0.5906976748922036","word_num":"0","conf":"1","width":"0.2790697521633572","line_num":"0","left":"0.008720935081112163","level":"0"},{"par_num":"0","block_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","page_num":"0","height":"0.018604651557074692","left":"0.008720935288035392","width":"0.40697674221462665","top":"0.6093023252912301","level":"0","conf":"1","word_num":"0","line_num":"0"},{"block_num":"0","left":"0.008720932494423177","line_num":"0","word_num":"0","height":"0.018604651557074692","top":"0.630232558174951","width":"0.3735465155707466","page_num":"0","conf":"1","par_num":"0","level":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php"},{"conf":"1","level":"0","height":"0.018604651557074692","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","line_num":"0","top":"0.6488372087951062","width":"0.3575581444634332","word_num":"0","par_num":"0","block_num":"0","page_num":"0","left":"0.008720925345802873"},{"left":"0.008720930055878897","top":"0.6674418601201179","width":"0.30668604109022357","par_num":"0","height":"0.023669251335991737","page_num":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","line_num":"0","conf":"1","level":"0","word_num":"0","block_num":"0"},{"conf":"0.30000001192092896","line_num":"0","par_num":"0","page_num":"0","text":"rtarest. php","top":"0.64","width":"0.06666666666666665","left":"0.30000000013888894","word_num":"0","block_num":"0","level":"0","height":"0.053333333333333344"},{"line_num":"0","conf":"1","block_num":"0","left":"0.008720943324406762","par_num":"0","top":"0.6906976746596454","word_num":"0","page_num":"0","width":"0.45784882439507385","height":"0.016279069052802186","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","level":"0"},{"height":"0.019018088446723147","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","conf":"1","par_num":"0","line_num":"0","page_num":"0","block_num":"0","top":"0.7088888885350363","width":"0.43459303114149306","left":"0.008720919944754178","level":"0","word_num":"0"},{"par_num":"0","height":"0.046666666666666634","level":"0","top":"0.6866666667777778","left":"0.3208333309027779","conf":"0.30000001192092896","line_num":"0","width":"0.14583333333333337","page_num":"0","text":"fonitrn/esComedad.ron,.php","word_num":"0","block_num":"0"},{"width":"0.4186046600341797","block_num":"0","word_num":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","par_num":"0","page_num":"0","level":"0","height":"0.01666666666666672","conf":"1","left":"0.008720931874829398","line_num":"0","top":"0.73"},{"text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","level":"0","left":"0.008720944031500208","line_num":"0","page_num":"0","height":"0.0189405674404568","width":"0.5188953399658203","word_num":"0","top":"0.7488372099361025","par_num":"0","conf":"1","block_num":"0"},{"conf":"1","width":"0.556686019897461","page_num":"0","word_num":"0","line_num":"0","level":"0","block_num":"0","left":"0.00872094292957427","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","top":"0.769767441714528","height":"0.01912144766913515"},{"block_num":"0","line_num":"0","page_num":"0","top":"0.7883720927330905","level":"0","left":"0.008720950932465657","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","word_num":"0","par_num":"0","conf":"1","width":"0.5232557932535807","height":"0.018604651557074692"},{"block_num":"0","par_num":"0","line_num":"0","level":"0","height":"0.019018088446723147","width":"0.5130814022488065","conf":"1","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","top":"0.8088888884187573","word_num":"0","left":"0.008720932168461499","page_num":"0"},{"word_num":"0","page_num":"0","line_num":"0","height":"0.018888888888888955","block_num":"0","level":"0","top":"0.83","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","width":"0.5901162889268663","conf":"1","left":"0.00872093066119501","par_num":"0"},{"word_num":"0","line_num":"0","block_num":"0","height":"0.0189405674404568","page_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","top":"0.8488372098663348","conf":"1","left":"0.00872093066119501","level":"0","width":"0.5901162889268663","par_num":"0"},{"conf":"1","height":"0.016279069052802186","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","left":"0.00872095191817562","level":"0","width":"0.6017441643608942","block_num":"0","page_num":"0","par_num":"0","line_num":"0","top":"0.8697674421015059","word_num":"0"},{"text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","width":"0.5188953399658204","conf":"1","par_num":"0","block_num":"0","top":"0.8906976746596453","level":"0","line_num":"0","word_num":"0","page_num":"0","height":"0.016279069052802186","left":"0.008720941480167237"},{"height":"0.019018088446723036","left":"0.008720965718114076","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","level":"0","top":"0.9088888883993775","word_num":"0","block_num":"0","width":"0.5130813598632812","line_num":"0","page_num":"0","par_num":"0","conf":"1"},{"line_num":"0","page_num":"0","level":"0","block_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","width":"0.4796511332194011","word_num":"0","left":"0.008720959803854693","par_num":"0","conf":"1","top":"0.93","height":"0.016666666666666607"},{"left":"0.008720958818144888","conf":"1","line_num":"0","width":"0.4636627621120876","word_num":"0","block_num":"0","height":"0.0189405674404568","level":"0","page_num":"0","top":"0.9488372099361024","par_num":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php"},{"page_num":"0","left":"0.004360485232488721","line_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","width":"0.5348837110731336","top":"0.9674418601201177","block_num":"0","par_num":"0","height":"0.02144702911376961","conf":"1","word_num":"0","level":"0"},{"level":"0","line_num":"0","page_num":"0","conf":"0.30000001192092896","par_num":"0","block_num":"0","text":"0 84","height":"0.013953487608167836","width":"0.024709301524692084","top":"0.06511627927731145","word_num":"0","left":"0.6250000001737047"},{"conf":"0.5","left":"0.7194767443728021","line_num":"0","par_num":"0","page_num":"0","level":"0","height":"0.011627906163533597","text":"-zsh","width":"0.017441859510209823","word_num":"0","block_num":"0","top":"0.06744186098800065"},{"par_num":"0","top":"0.0674418609589309","conf":"0.30000001192092896","width":"0.01453488270441694","block_num":"0","height":"0.011627906163533597","left":"0.7994186049777334","level":"0","page_num":"0","text":"885","word_num":"0","line_num":"0"},{"left":"0.8168458269716159","word_num":"0","height":"0.014181681738959395","top":"0.0068626474102171375","page_num":"0","level":"0","line_num":"0","text":"100% <7","par_num":"0","block_num":"0","width":"0.04218044016096334","conf":"0.30000001192092896"},{"page_num":"0","left":"0.8909883701829538","word_num":"0","text":"Mon 27 Apr 18:46:09","conf":"1","height":"0.014444444444444371","level":"0","top":"0.00666666666666671","line_num":"0","block_num":"0","par_num":"0","width":"0.09738372166951492"},{"word_num":"0","line_num":"0","width":"0.020348836316002705","level":"0","par_num":"0","text":"181","top":"0.034883721195916095","left":"0.9723837216312426","page_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.013953487608167836"},{"line_num":"0","left":"0.8372093056452314","level":"0","text":"ec2-user@ip-10-30-95-134:...","word_num":"0","block_num":"0","height":"0.011627906163533597","page_num":"0","conf":"1","top":"0.06744186083296189","width":"0.11046511332194009","par_num":"0"},{"par_num":"0","width":"0.024709301524692084","word_num":"0","height":"0.013953487608167836","level":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","text":"• *6","top":"0.06511627933545094","left":"0.9534883728481232","page_num":"0"},{"par_num":"0","conf":"1","page_num":"0","width":"0.01453488270441694","text":"66","height":"0.013953487608167947","level":"0","word_num":"0","left":"0.651162790963683","block_num":"0","top":"0.09069767487808655","line_num":"0"},{"left":"0.668604651975057","par_num":"0","text":"++++","word_num":"0","width":"0.024709301524692084","block_num":"0","page_num":"0","conf":"1","top":"0.09302325610427975","line_num":"0","height":"0.011627906163533486","level":"0"},{"width":"0.03052325513627796","top":"0.1088888889538393","word_num":"0","block_num":"0","left":"0.6511627914915763","page_num":"0","height":"0.01669250594245064","level":"0","par_num":"0","line_num":"0","text":"23 +-","conf":"1"},{"block_num":"0","height":"0.016279069052802186","top":"0.130232558334064","left":"0.6511627904273781","level":"0","text":"20","par_num":"0","width":"0.014534884028964634","conf":"1","line_num":"0","page_num":"0","word_num":"0"},{"conf":"0.5","line_num":"0","left":"0.6686046519044723","page_num":"0","width":"0.013081394301520444","block_num":"0","height":"0.011627906163533486","text":"+-","par_num":"0","level":"0","top":"0.13255813982521003","word_num":"0"},{"par_num":"0","word_num":"0","line_num":"0","conf":"1","height":"0.013953487906976814","level":"0","left":"0.658430232751938","text":"4","block_num":"0","top":"0.15116279116279063","page_num":"0","width":"0.007267441618217019"},{"line_num":"0","left":"0.6686046510880266","width":"0.01162790722317164","block_num":"0","height":"0.011627906163533486","par_num":"0","text":"+-","word_num":"0","level":"0","conf":"0.30000001192092896","page_num":"0","top":"0.15348837269342708"},{"left":"0.6584302333351134","line_num":"0","text":"7 +","top":"0.16976744216490824","conf":"0.30000001192092896","height":"0.013953487608167947","page_num":"0","width":"0.01889534791310632","word_num":"0","block_num":"0","level":"0","par_num":"0"},{"par_num":"0","left":"0.6584302333351134","block_num":"0","conf":"0.5","text":"1 +","word_num":"0","top":"0.19069767472304788","page_num":"0","width":"0.01889534791310632","level":"0","line_num":"0","height":"0.013953487608167836"},{"block_num":"0","line_num":"0","top":"0.20930232582243613","word_num":"0","page_num":"0","width":"0.015988371107313437","height":"0.016279069052802186","par_num":"0","conf":"1","text":"24","level":"0","left":"0.6511627914570022"},{"block_num":"0","conf":"0.5","height":"0.009302325778537401","left":"0.6700581396855341","level":"0","line_num":"0","page_num":"0","text":"+-","top":"0.21395348820707683","word_num":"0","par_num":"0","width":"0.010174418158001464"},{"left":"0.6511627910242451","text":"10","page_num":"0","top":"0.23023255863777647","width":"0.01453488270441694","height":"0.013953487608167947","block_num":"0","line_num":"0","word_num":"0","conf":"1","level":"0","par_num":"0"},{"conf":"0.5","height":"0.01671834627787272","block_num":"0","line_num":"0","text":"5 +","word_num":"0","level":"0","page_num":"0","left":"0.6584302327537183","par_num":"0","width":"0.01889534791310632","top":"0.2488372092900042"},{"line_num":"0","word_num":"0","text":"170","height":"0.013953487608167836","par_num":"0","left":"0.646802325807255","level":"0","conf":"1","block_num":"0","page_num":"0","width":"0.01889534791310621","top":"0.26976744235870675"},{"level":"0","conf":"1","word_num":"0","height":"0.013953487608167836","par_num":"0","block_num":"0","left":"0.651162790963683","text":"18","top":"0.2906976748780866","width":"0.01453488270441694","line_num":"0","page_num":"0"},{"page_num":"0","word_num":"0","par_num":"0","line_num":"0","conf":"1","level":"0","left":"0.651162791205931","top":"0.30930232621003295","height":"0.016279069052802297","block_num":"0","width":"0.01453488270441694","text":"16"},{"par_num":"0","level":"0","line_num":"0","width":"0.013081394301520444","top":"0.31395348897249686","word_num":"0","height":"0.011627906163533486","conf":"0.30000001192092896","left":"0.6686046517106738","page_num":"0","text":"+-","block_num":"0"},{"line_num":"0","conf":"1","word_num":"0","text":"62","block_num":"0","par_num":"0","left":"0.6482558143219299","page_num":"0","width":"0.017441859510209934","height":"0.01860465155707458","level":"0","top":"0.3488372088726255"},{"block_num":"0","height":"0.013953487608167836","width":"0.01889534791310621","left":"0.646802325807255","top":"0.36976744235870673","text":"942","line_num":"0","conf":"1","par_num":"0","level":"0","page_num":"0","word_num":"0"},{"width":"0.01889534791310621","line_num":"0","top":"0.39069767491684626","height":"0.013953487608167947","word_num":"0","block_num":"0","page_num":"0","left":"0.646802325807255","level":"0","par_num":"0","conf":"1","text":"942"},{"par_num":"0","block_num":"0","top":"0.4093023256673973","left":"0.6511627910605823","width":"0.01453488270441694","height":"0.016279069052802186","conf":"1","page_num":"0","level":"0","line_num":"0","text":"21","word_num":"0"},{"page_num":"0","word_num":"0","conf":"1","top":"0.43023255805747485","left":"0.6511627906082568","par_num":"0","level":"0","height":"0.016279070112440452","text":"33","width":"0.014534884028964523","line_num":"0","block_num":"0"},{"level":"0","text":"+++","left":"0.6700581403030346","par_num":"0","width":"0.017441859510209823","top":"0.3534883723833495","conf":"1","line_num":"0","block_num":"0","page_num":"0","height":"0.011627906163533486","word_num":"0"},{"top":"0.14651162688694752","height":"0.08372093200683584","block_num":"0","conf":"0.30000001192092896","left":"0.8517441850662857","width":"0.1395348866780598","par_num":"0","page_num":"0","line_num":"0","word_num":"0","text":"APP","level":"0"},{"level":"0","block_num":"0","left":"0.6686046489065398","par_num":"0","conf":"0.30000001192092896","top":"0.4511627900808629","width":"0.013081399599711108","text":"++++","word_num":"0","line_num":"0","height":"0.0813953484429254","page_num":"0"},{"left":"0.6700581393147707","conf":"1","line_num":"0","block_num":"0","level":"0","par_num":"0","text":"++","word_num":"0","height":"0.013953488667805991","page_num":"0","width":"0.011627907223171752","top":"0.5325581392707482"},{"width":"0.013081395626068137","text":"++.","line_num":"0","top":"0.6116279067372514","height":"0.01162790722317164","block_num":"0","level":"0","left":"0.6700581393235938","par_num":"0","word_num":"0","conf":"0.30000001192092896","page_num":"0"}]...
|
PhpStorm
|
AppleNative
|
faVsco.js – UserTransformer.php
|
1
|
3836
|
NULL
|
NULL
|
|
89162
|
PhpStormViewINavigareCodeLaravelRefactorTOOISWindo PhpStormViewINavigareCodeLaravelRefactorTOOISWindowFV faVsco.js#11998 on JY-20372-ai-reports-promotion-paProiect vC) TrackAutomatedRenortGeneratedFvent.ohr© FeatureTransformer.pl© FieldTransformer.php(C) FieldValueTransformeC) CreateNudaeCreatedevent.ongchAutomatedPenortcPenositorvTect.nhrTOpportunitySyncTrait.phgC) ForecastTranstormer.© GroupDealRiskTypeTra•DeleteLeaaJob.php© DeleteAccountJob.phpphp api.phpo crouelranstormer.ong© IntegrationTransforme© InvitationTransformer.© JobTitleTransformer.p(C) RequestGenerateReportJob.php© AutomatedReportResult.phc© AutomatedReport.phgclass UserTransformer extends TransformerAbstractC) LanquageDialectirans© LayoutEntityTransformc) Layoutlranstormer.on 169c) MessaceIranstormer.l 176C) MomentTranstormer.o 185C) NoteTranstormer.oho 184© NotificationTranstorme 196© OnDemandActivitiesTr 197C) Opoortunitvcommentil 207© Opportunity Transform 208(C) ParticinantTransforme 21/© PartnerTransformer.pr 215(C) PermissionTransforme 210l(C) PlavbackPadeTransfor@ PlavbookTransformer.| 220© PlaybookTreeTransfor 224PlaylistActivity Transfo© PlaylistSharesTransfor 2290 DlavlistTransformer.ph 229(C) ProcnectsTransformen(e) QuestionTranstormer.( 2381© RecordTypeTransform 234© RoleTransformer.phpC) scopeGroup Iranstorm 239© ScorecardRuleTransfo 239(e) ScorecardRuleTrigger(e) ScorecardTransformer 2401© SearchTransformer.ph 2z4C) SessionTranstormer.pl© StageTransformer.php 24s© StatsTransformer.phn 240l( TeamDomainTransforr9 Teamintegration Transt 25oP TeamTransformer.ohp. 255C)ThemeTransformer.oh(C) Tooictransformer.oho 25z(C) Tooictriagertransforn 241l(c) TrackTransformer nhnC) UcerTransformer nhn |0z2lpublic function transform(User Suser): arrayt...public function includeTeam(User $user): Itemt...public function includeGroup(User Suser): ?Itemt...public function includeJob(User $user): ?Itemf...}public function includeRoles(User Suser): Resource \Collection{...}public function includePermissions(User Suser): Resource \Collection{...}public function includeIntegrations(User Suser): Item{...}private function getTeamTransformer: TransformerAbstractl...}private function getGroupTransformer@: GroupTransformerS...private function getIntegrationsTransformer@: IntegrationTransformerf...;private function getPermissionTransformer(): PermissionTransformerf...private function getRoleTransformer(: RoleTransformert...}private function getJobTitleTransformer: JobTitleTransformer{...}private function getSidekickService(): SidekickService{...}private function getUserService: UserServicel...}private function getAutomatedReportsRepository: AutomatedReportsRepository{...}© VoiceAccessTransforn 267(C) Kernel nhrWorkcnace accociated with hranch "IV-20272-ai-renorts-nromotion-nades' hac heon rectored /l Pollback II Confiaure (5 minutes adolC) AutomatedPenortGenerated.nhn©IntegrationApp/Service.php(c)LeadConverted.php© AutomatedReportsCommand.phpSalesforce/Service.php= custom.log62563€_ 631632A 6s3-/|/|=laravel.logA SF (jiminny@localhost]4 HS_local jiminny@localhost]« console (PROD] X 4 console [EU]« console [STAGING]¡ELECT * FROM crm_ profiles cp J0IN users u 1..n<->1: on u.id = cp.user id WHERE u.team_id = 711:#[PASSWORD_DOTS]SELECT * FROM opportunitiesSELECTWHERE team 1d = 955 order oy uodated at desc:CONCAT(u,id. CASE WHEN u.id = t.ownen id THEN • (owner)' ELSE •• END) AS user id.lCASE can be replaced with 'IF' callu.emanlsa.*towner id FROM social accounts sa0iN usens u on tuid= sa.sociabile idEST I0TN team domains +dON +dteam id = +.ioAND +ddeleted at ts NullIlAND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))¡POIID RV + id + namo alondan domainIpnEp RV + namo calondan domain.thono 1 toam id = 999.ielect * from activities where id = 74049485: # team 563 crm 53%ielect * fromactivities where id = 73272382: # team 563 crm 537ielect * from activities where id = 64400389: # team 563 crm 537ielect * frowhere id = 58081273: # team 563 crm 537ielect * from activities where id = 54520297; # team 563 crm 53%ielect * from participants where activity id = 58081273:¡elect * from activities where crm confiquration id = 537 and provider = 'aircall'ind account 1d = 19003658 orden bv undated at desc.ielect * from contacts where com confiauration id = 537 and id = 35957759:ielect * fron accounts where com confiaunation id = 537 and id = 19003658:elect * from automated nenort results where id = 1976•|oloct + fnom antivity coanchoc whono id = 9771/•ielect * fromactivity_search_filters where activity_search_id = 87714;ASLSCT * SPOM activitioc WHEpE muid to hin(198274472-202d-4140.0d04-72665£0546a00) = muidnmuid to bin(1194214k-a651_4hch-954f-cc45402001011) = mudd!$0100% 5Mon 27 Apr 18:46:10AutomatedReportsRepositoryTestvSo jiminnyи 037 A1 A35 У 63 ^W Windsurf Teams 53:8 UTF-8 4 spaces...
|
[{"text":"PhpStorm","left" [{"text":"PhpStorm","left":"0.01744186183596858","width":"0.021802323929806976","conf":"1","level":"0","height":"0.010452961047110132","line_num":"0","word_num":"0","page_num":"0","par_num":"0","top":"0.0034843207830651535","block_num":"0"},{"conf":"1","level":"0","height":"0.010452961047110132","text":"View","line_num":"0","top":"0.0034843207830651535","left":"0.07412790734170206","page_num":"0","par_num":"0","word_num":"0","block_num":"0","width":"0.010174418383456299"},{"conf":"0.30000001192092896","height":"0.006968640444571461","word_num":"0","left":"0.09011627900977959","line_num":"0","top":"0.006968641450188162","par_num":"0","page_num":"0","width":"0.018895347067650323","text":"INavigare","level":"0","block_num":"0"},{"width":"0.01162790618044264","height":"0.010452960286604362","left":"0.1148255812121043","word_num":"0","block_num":"0","text":"Code","page_num":"0","level":"0","conf":"1","line_num":"0","par_num":"0","top":"0.003484321424642056"},{"text":"Laravel","par_num":"0","conf":"1","page_num":"0","level":"0","left":"0.1322674420048114","block_num":"0","line_num":"0","height":"0.006968640444571461","width":"0.01598837020549368","top":"0.006968641450188162","word_num":"0"},{"level":"0","word_num":"0","height":"0.010452960286604362","top":"0.003484321076209995","line_num":"0","block_num":"0","conf":"1","par_num":"0","width":"0.017441858636572022","page_num":"0","left":"0.15406976922822552","text":"Refactor"},{"block_num":"0","word_num":"0","top":"0.006968641450188162","par_num":"0","level":"0","width":"0.011627906180442654","conf":"0.30000001192092896","height":"0.006968640444571461","left":"0.19186046493303455","line_num":"0","page_num":"0","text":"TOOIS"},{"left":"0.22238372271659762","conf":"1","height":"0.010452960286604362","block_num":"0","par_num":"0","text":"Window","top":"0.003484321424642056","width":"0.017441858636572022","word_num":"0","page_num":"0","line_num":"0","level":"0"},{"left":"0.030523259704860126","par_num":"0","conf":"0.5","text":"FV faVsco.js","top":"0.02787456497864904","width":"0.029069763548830722","line_num":"0","block_num":"0","page_num":"0","height":"0.010452960286604362","level":"0","word_num":"0"},{"line_num":"0","left":"0.06831395971672174","top":"0.02787456497864904","block_num":"0","word_num":"0","height":"0.010452960286604362","par_num":"0","width":"0.09447674041098736","conf":"0.5","page_num":"0","text":"#11998 on JY-20372-ai-reports-promotion-pa","level":"0"},{"word_num":"0","block_num":"0","conf":"0.30000001192092896","top":"0.05574912889998673","par_num":"0","line_num":"0","page_num":"0","text":"Proiect v","level":"0","left":"0.014534884016913935","height":"0.007249276223555423","width":"0.020348836766912584"},{"page_num":"0","word_num":"0","height":"0.007249275463049432","block_num":"0","left":"0.10319768087658585","line_num":"0","level":"0","conf":"1","top":"0.05574912945445576","par_num":"0","width":"0.08866278668667407","text":"C) TrackAutomatedRenortGeneratedFvent.ohr"},{"block_num":"0","left":"0.04651163199788804","conf":"1","line_num":"0","page_num":"0","height":"0.010552989619010189","text":"© FeatureTransformer.pl","top":"0.07655502377242651","width":"0.05232557844608388","word_num":"0","par_num":"0","level":"0"},{"block_num":"0","text":"© FieldTransformer.php","level":"0","page_num":"0","par_num":"0","width":"0.051103262191123155","top":"0.09036775898026539","conf":"1","left":"0.046371113743672504","word_num":"0","line_num":"0","height":"0.014607372466456936"},{"page_num":"0","par_num":"0","conf":"0.5","height":"0.007321518193781906","text":"(C) FieldValueTransforme","word_num":"0","level":"0","left":"0.04651163195424598","block_num":"0","width":"0.05232557844608388","top":"0.11149825835444249","line_num":"0"},{"left":"0.10316135773138413","top":"0.0795321675482139","width":"0.06548142433166504","word_num":"0","line_num":"0","conf":"0.5","page_num":"0","par_num":"0","height":"0.011493264583119167","block_num":"0","text":"C) CreateNudaeCreatedevent.ong","level":"0"},{"par_num":"0","height":"0.006968640444571461","text":"chAutomatedPenortcPenositorvTect.nhr","width":"0.07848836513275795","word_num":"0","level":"0","block_num":"0","top":"0.08013937315750519","line_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.17877907717199273"},{"text":"TOpportunitySyncTrait.phg","top":"0.10452961724345744","height":"0.010452960286604362","page_num":"0","width":"0.0552325502355048","word_num":"0","conf":"1","block_num":"0","left":"0.1889534950857357","level":"0","line_num":"0","par_num":"0"},{"width":"0.053904741368395216","word_num":"0","conf":"0.5","text":"C) ForecastTranstormer.","left":"0.04642745264033577","level":"0","line_num":"0","page_num":"0","height":"0.010947489092034357","par_num":"0","top":"0.1287209111586205","block_num":"0"},{"par_num":"0","width":"0.053779064340794325","word_num":"0","level":"0","page_num":"0","top":"0.14634146377433943","conf":"0.5","left":"0.04651163333362422","text":"© GroupDealRiskTypeTra","line_num":"0","block_num":"0","height":"0.010755824890623433"},{"par_num":"0","level":"0","conf":"0.5","left":"0.10465116236422076","line_num":"0","text":"•DeleteLeaaJob.php","top":"0.13240418151987454","page_num":"0","word_num":"0","height":"0.006968640444571461","block_num":"0","width":"0.04215115942853562"},{"height":"0.010633568254194037","text":"© DeleteAccountJob.php","par_num":"0","left":"0.15552325888118848","width":"0.049418601583927246","line_num":"0","word_num":"0","block_num":"0","top":"0.12891986078715645","conf":"1","page_num":"0","level":"0"},{"width":"0.021802323929806966","block_num":"0","par_num":"0","page_num":"0","height":"0.0071770334928229484","line_num":"0","left":"0.2732558137665846","level":"0","text":"php api.php","conf":"0.30000001192092896","top":"0.13237639553429026","word_num":"0"},{"line_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.04651162676533041","level":"0","block_num":"0","par_num":"0","text":"o crouelranstormer.ong","width":"0.052325578446083876","word_num":"0","height":"0.006968640444571461","top":"0.16724738709478748"},{"left":"0.0465116282399626","line_num":"0","text":"© IntegrationTransforme","block_num":"0","level":"0","conf":"1","word_num":"0","par_num":"0","top":"0.1810207334671603","page_num":"0","width":"0.05232557844608387","height":"0.010616897205796949"},{"top":"0.19856459312259356","width":"0.05232557844608388","text":"© InvitationTransformer.","left":"0.04651163199788804","line_num":"0","level":"0","conf":"1","block_num":"0","page_num":"0","height":"0.010494639808861561","word_num":"0","par_num":"0"},{"width":"0.052325578446083876","conf":"1","word_num":"0","top":"0.2160278747900337","line_num":"0","page_num":"0","block_num":"0","left":"0.046511630856241534","height":"0.010452961047110243","level":"0","text":"© JobTitleTransformer.p","par_num":"0"},{"level":"0","text":"(C) RequestGenerateReportJob.php","par_num":"0","width":"0.06976743454628802","height":"0.0071770334928229484","word_num":"0","top":"0.18102073365231264","block_num":"0","line_num":"0","page_num":"0","conf":"0.5","left":"0.10174419336068873"},{"text":"© AutomatedReportResult.phc","top":"0.17770034844000526","line_num":"0","page_num":"0","width":"0.06104650903255379","word_num":"0","level":"0","conf":"0.5","block_num":"0","height":"0.010497418697180794","par_num":"0","left":"0.17877906961163015"},{"height":"0.010497418697180683","conf":"0.5","left":"0.24854651312196135","par_num":"0","text":"© AutomatedReport.phg","width":"0.0479651156892168","level":"0","top":"0.17770034852711336","word_num":"0","block_num":"0","page_num":"0","line_num":"0"},{"top":"0.2017543859602864","block_num":"0","width":"0.12936045261139562","word_num":"0","height":"0.0073048471453848185","conf":"1","page_num":"0","level":"0","left":"0.12063954741555198","line_num":"0","par_num":"0","text":"class UserTransformer extends TransformerAbstract"},{"left":"0.04651162687789198","conf":"0.5","page_num":"0","block_num":"0","level":"0","top":"0.23684210526315785","width":"0.05232558351881961","par_num":"0","line_num":"0","height":"0.0071770334928230595","text":"C) LanquageDialectirans","word_num":"0"},{"height":"0.010691918064342554","width":"0.05377906434079434","par_num":"0","top":"0.2508710804142831","line_num":"0","block_num":"0","conf":"1","word_num":"0","left":"0.04651163333362425","level":"0","text":"© LayoutEntityTransform","page_num":"0"},{"text":"c) Layoutlranstormer.on 169","width":"0.062499994927264275","word_num":"0","line_num":"0","par_num":"0","page_num":"0","left":"0.04651163392347694","block_num":"0","conf":"0.30000001192092896","top":"0.271777003894373","height":"0.007329854098233168","level":"0"},{"top":"0.306620209394439","page_num":"0","left":"0.04651163392347694","par_num":"0","word_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461","block_num":"0","level":"0","line_num":"0","text":"c) MessaceIranstormer.l 176","width":"0.062499994927264275"},{"block_num":"0","height":"0.0072464973352361906","par_num":"0","text":"C) MomentTranstormer.o 185","word_num":"0","page_num":"0","width":"0.062499994927264275","conf":"0.5","left":"0.04651163392347662","line_num":"0","top":"0.32376395531045343","level":"0"},{"word_num":"0","par_num":"0","level":"0","top":"0.34130781499202545","left":"0.04651163392347662","text":"C) NoteTranstormer.oho 184","conf":"0.30000001192092896","line_num":"0","width":"0.062499994927264275","block_num":"0","height":"0.0071770334928230595","page_num":"0"},{"block_num":"0","level":"0","page_num":"0","width":"0.062499989854528544","par_num":"0","top":"0.3588516745669754","left":"0.046511637793004997","line_num":"0","conf":"0.5","height":"0.010486303904410077","word_num":"0","text":"© NotificationTranstorme 196"},{"left":"0.04651163779300483","line_num":"0","block_num":"0","conf":"0.5","width":"0.062499989854528544","word_num":"0","page_num":"0","text":"© OnDemandActivitiesTr 197","par_num":"0","level":"0","top":"0.3763066205343165","height":"0.010455739935429254"},{"top":"0.3937282233317212","width":"0.062499994927264275","level":"0","height":"0.006968640444571572","word_num":"0","text":"C) Opoortunitvcommentil 207","block_num":"0","conf":"0.30000001192092896","par_num":"0","line_num":"0","page_num":"0","left":"0.04651163392347694"},{"word_num":"0","conf":"0.5","level":"0","line_num":"0","par_num":"0","block_num":"0","height":"0.010700253968793927","left":"0.04651163779280175","top":"0.41114982595421345","text":"© Opportunity Transform 208","width":"0.06249998985452855","page_num":"0"},{"line_num":"0","page_num":"0","level":"0","par_num":"0","text":"(C) ParticinantTransforme 21/","left":"0.04651163392347711","block_num":"0","word_num":"0","conf":"0.30000001192092896","height":"0.00731040416151707","top":"0.4282296651241162","width":"0.06249999492726427"},{"text":"© PartnerTransformer.pr 215","word_num":"0","width":"0.06249998985452855","top":"0.4457735248441337","conf":"0.5","left":"0.046511637793004934","height":"0.010672467367120575","block_num":"0","level":"0","line_num":"0","page_num":"0","par_num":"0"},{"conf":"0.5","line_num":"0","text":"(C) PermissionTransforme 210l","par_num":"0","word_num":"0","page_num":"0","top":"0.463317384370016","height":"0.0071770334928229484","width":"0.062499994927264275","left":"0.04651163392347694","level":"0","block_num":"0"},{"top":"0.4808362370000441","page_num":"0","height":"0.007202040445671409","conf":"1","line_num":"0","left":"0.04651162676888036","block_num":"0","par_num":"0","text":"(C) PlavbackPadeTransfor","width":"0.05232558351881961","level":"0","word_num":"0"},{"top":"0.49459494255811554","page_num":"0","width":"0.0626843178525884","word_num":"0","conf":"1","height":"0.014470711089017096","left":"0.04639989051959972","block_num":"0","level":"0","line_num":"0","text":"@ PlavbookTransformer.| 220","par_num":"0"},{"height":"0.010636346382007167","par_num":"0","level":"0","text":"© PlaybookTreeTransfor 224","line_num":"0","block_num":"0","top":"0.5156794429744099","width":"0.061046503959818095","page_num":"0","conf":"1","word_num":"0","left":"0.04651163577598338"},{"line_num":"0","par_num":"0","text":"PlaylistActivity Transfo","level":"0","block_num":"0","height":"0.014354066985646008","top":"0.529505582137161","page_num":"0","width":"0.05377906434079433","word_num":"0","left":"0.04505814495719344","conf":"0.5"},{"left":"0.0465116307170323","line_num":"0","height":"0.010736374953907335","conf":"1","top":"0.5502392344517595","page_num":"0","level":"0","text":"© PlaylistSharesTransfor 229","par_num":"0","width":"0.06104650903255381","word_num":"0","block_num":"0"},{"conf":"0.5","page_num":"0","block_num":"0","text":"0 DlavlistTransformer.ph 229","par_num":"0","top":"0.5641557545088812","line_num":"0","height":"0.015162994226580406","word_num":"0","level":"0","left":"0.044972710026498476","width":"0.06270603423422955"},{"block_num":"0","page_num":"0","height":"0.0071770334928229484","line_num":"0","left":"0.04651163195424598","text":"(C) ProcnectsTransformen","top":"0.5853269537480064","par_num":"0","word_num":"0","conf":"0.5","level":"0","width":"0.05232557844608388"},{"height":"0.011804259755014423","block_num":"0","page_num":"0","level":"0","left":"0.046430936735859483","line_num":"0","text":"(e) QuestionTranstormer.( 2381","width":"0.06262103547441197","par_num":"0","word_num":"0","conf":"0.5","top":"0.6021104640955133"},{"word_num":"0","block_num":"0","page_num":"0","text":"© RecordTypeTransform 234","left":"0.0465116307170323","par_num":"0","conf":"1","level":"0","line_num":"0","top":"0.6202090595272456","width":"0.06104650903255381","height":"0.010572439555726398"},{"block_num":"0","line_num":"0","height":"0.010694696952661675","par_num":"0","level":"0","page_num":"0","text":"© RoleTransformer.php","conf":"1","word_num":"0","width":"0.04941860158392724","top":"0.6376306620470675","left":"0.04651163097421116"},{"line_num":"0","conf":"0.30000001192092896","height":"0.007332632986552401","left":"0.04651162963029698","block_num":"0","page_num":"0","text":"C) scopeGroup Iranstorm 239","top":"0.6585365856142653","level":"0","width":"0.06104650395981809","par_num":"0","word_num":"0"},{"par_num":"0","page_num":"0","conf":"0.5","text":"© ScorecardRuleTransfo 239","top":"0.6722488038019265","line_num":"0","block_num":"0","height":"0.010678025143758707","width":"0.06104650903255381","level":"0","left":"0.046511630726939986","word_num":"0"},{"height":"0.011473882331422325","text":"(e) ScorecardRuleTrigger","width":"0.05246125890853558","page_num":"0","word_num":"0","left":"0.04641866454280835","level":"0","line_num":"0","par_num":"0","top":"0.6896906789566247","conf":"0.30000001192092896","block_num":"0"},{"text":"(e) ScorecardTransformer 2401","conf":"0.5","line_num":"0","top":"0.7071429596449001","left":"0.046431734850145706","word_num":"0","page_num":"0","level":"0","par_num":"0","block_num":"0","height":"0.011584672060879764","width":"0.06265161899810141"},{"level":"0","page_num":"0","text":"© SearchTransformer.ph 2z4","word_num":"0","top":"0.7247386761671891","width":"0.06104650903255381","left":"0.0465116307170323","par_num":"0","conf":"0.5","line_num":"0","block_num":"0","height":"0.010508532729445408"},{"line_num":"0","level":"0","height":"0.0071770334928229484","par_num":"0","word_num":"0","page_num":"0","text":"C) SessionTranstormer.pl","block_num":"0","top":"0.7456140350877193","width":"0.05232557844608388","conf":"0.5","left":"0.046511626761643825"},{"top":"0.759581882228663","line_num":"0","page_num":"0","conf":"0.5","block_num":"0","height":"0.010753046002304312","left":"0.04651163779300483","par_num":"0","text":"© StageTransformer.php 24s","width":"0.062499989854528544","level":"0","word_num":"0"},{"text":"© StatsTransformer.phn 240l","block_num":"0","conf":"0.30000001192092896","page_num":"0","top":"0.7767145136155893","width":"0.06249998985452855","height":"0.010741931970039587","level":"0","line_num":"0","left":"0.0465116379326342","par_num":"0","word_num":"0"},{"par_num":"0","width":"0.05232557844608389","left":"0.04651163085624106","page_num":"0","level":"0","block_num":"0","line_num":"0","top":"0.7942583731520936","word_num":"0","conf":"0.5","height":"0.01061967533361019","text":"( TeamDomainTransforr"},{"level":"0","top":"0.8083623703568222","par_num":"0","word_num":"0","conf":"0.30000001192092896","page_num":"0","width":"0.06395348082197475","line_num":"0","block_num":"0","left":"0.04505814684537327","text":"9 Teamintegration Transt 25o","height":"0.013937280889142922"},{"text":"P TeamTransformer.ohp. 255","height":"0.010452960286604362","top":"0.8292682935500775","word_num":"0","block_num":"0","line_num":"0","left":"0.04505814687815347","conf":"0.30000001192092896","page_num":"0","par_num":"0","width":"0.06395348082197475","level":"0"},{"height":"0.006968641205077342","par_num":"0","block_num":"0","text":"C)ThemeTransformer.oh","conf":"0.30000001192092896","top":"0.850174215992506","page_num":"0","width":"0.0523255835188196","word_num":"0","left":"0.04651162691791578","line_num":"0","level":"0"},{"level":"0","page_num":"0","top":"0.8675958192744054","left":"0.04651163392347694","conf":"0.30000001192092896","width":"0.062499994927264275","block_num":"0","par_num":"0","height":"0.007204818573484761","line_num":"0","text":"(C) Tooictransformer.oho 25z","word_num":"0"},{"page_num":"0","line_num":"0","block_num":"0","width":"0.06249999492726427","par_num":"0","level":"0","top":"0.8850174217942274","conf":"0.30000001192092896","height":"0.007327075970420038","left":"0.04651163392347711","word_num":"0","text":"(C) Tooictriagertransforn 241l"},{"left":"0.046511630583676994","height":"0.006968640444571461","page_num":"0","width":"0.05232557337334816","text":"(c) TrackTransformer nhn","par_num":"0","word_num":"0","block_num":"0","conf":"0.5","level":"0","line_num":"0","top":"0.9024390247254496"},{"top":"0.9198606275129059","height":"0.006968640444571461","left":"0.04796512388725127","text":"C) UcerTransformer nhn |0z2l","line_num":"0","level":"0","block_num":"0","word_num":"0","page_num":"0","par_num":"0","conf":"0.30000001192092896","width":"0.06104650395981809"},{"word_num":"0","height":"0.010544653714558705","block_num":"0","text":"public function transform(User Suser): arrayt...","top":"0.23684210539102435","width":"0.12936045261139567","conf":"1","par_num":"0","left":"0.1308139547054663","level":"0","page_num":"0","line_num":"0"},{"left":"0.13081397093221406","block_num":"0","top":"0.27177700389437287","level":"0","par_num":"0","conf":"1","height":"0.010519646761710244","word_num":"0","width":"0.1322674244008166","page_num":"0","line_num":"0","text":"public function includeTeam(User $user): Itemt..."},{"line_num":"0","block_num":"0","height":"0.010764160034569037","left":"0.13081395963861447","text":"public function includeGroup(User Suser): ?Itemt...","word_num":"0","page_num":"0","par_num":"0","conf":"1","width":"0.13662788715768365","top":"0.3066202098687387","level":"0"},{"line_num":"0","left":"0.13081396045777505","page_num":"0","word_num":"0","text":"public function includeJob(User $user): ?Itemf...}","conf":"1","width":"0.1308139334333704","level":"0","height":"0.010608561301345354","block_num":"0","par_num":"0","top":"0.3413078148244342"},{"par_num":"0","word_num":"0","page_num":"0","conf":"1","level":"0","text":"public function includeRoles(User Suser): Resource \\Collection{...}","top":"0.37630662108878543","width":"0.17296509032553814","left":"0.13081396214529012","block_num":"0","line_num":"0","height":"0.010455739174923484"},{"word_num":"0","left":"0.13081398132932925","block_num":"0","level":"0","line_num":"0","width":"0.18895346053103185","page_num":"0","par_num":"0","top":"0.41114982595421345","text":"public function includePermissions(User Suser): Resource \\Collection{...}","conf":"1","height":"0.010700253968793927"},{"block_num":"0","left":"0.13081395992415015","text":"public function includeIntegrations(User Suser): Item{...}","width":"0.15261625736317738","word_num":"0","par_num":"0","level":"0","line_num":"0","conf":"1","top":"0.44577352463809683","height":"0.010672468127626344","page_num":"0"},{"height":"0.01051408974557777","width":"0.16569765577925014","level":"0","top":"0.49825784007433493","word_num":"0","par_num":"0","text":"private function getTeamTransformer: TransformerAbstractl...}","line_num":"0","block_num":"0","page_num":"0","left":"0.13081397212772647","conf":"1"},{"conf":"1","top":"0.5502392344517595","block_num":"0","width":"0.15988371220040828","line_num":"0","word_num":"0","level":"0","page_num":"0","text":"private function getGroupTransformer@: GroupTransformerS...","height":"0.010736374953907335","left":"0.130813962218193","par_num":"0"},{"height":"0.010452961807616012","block_num":"0","width":"0.19331394357884185","word_num":"0","page_num":"0","conf":"1","left":"0.1308139632525535","line_num":"0","level":"0","par_num":"0","text":"private function getIntegrationsTransformer@: IntegrationTransformerf...;","top":"0.6027874563309085"},{"block_num":"0","left":"0.1308139662291967","height":"0.011164274322169154","line_num":"0","par_num":"0","page_num":"0","top":"0.6547049441786283","word_num":"0","conf":"1","level":"0","width":"0.18604649888708238","text":"private function getPermissionTransformer(): PermissionTransformerf..."},{"width":"0.15406974833062356","line_num":"0","text":"private function getRoleTransformer(: RoleTransformert...}","level":"0","page_num":"0","height":"0.01072803904945574","par_num":"0","top":"0.7105263158961413","word_num":"0","block_num":"0","conf":"1","left":"0.13081395719263308"},{"text":"private function getJobTitleTransformer: JobTitleTransformer{...}","top":"0.7630662028086779","height":"0.010458518063242495","block_num":"0","conf":"1","level":"0","left":"0.13081395666398982","page_num":"0","width":"0.1758720722604305","word_num":"0","line_num":"0","par_num":"0"},{"conf":"1","par_num":"0","height":"0.011164274322169154","block_num":"0","left":"0.13081397000425493","width":"0.15552323929806972","word_num":"0","text":"private function getSidekickService(): SidekickService{...}","top":"0.8149920255183413","level":"0","line_num":"0","page_num":"0"},{"line_num":"0","block_num":"0","top":"0.8675958196824817","left":"0.13081395605654184","width":"0.13372091536826275","word_num":"0","conf":"1","page_num":"0","height":"0.010452960286604362","par_num":"0","level":"0","text":"private function getUserService: UserServicel...}"},{"line_num":"0","par_num":"0","word_num":"0","left":"0.13081395916474037","level":"0","height":"0.010761381906755796","width":"0.212209275428285","block_num":"0","conf":"1","text":"private function getAutomatedReportsRepository: AutomatedReportsRepository{...}","top":"0.9198606277685933","page_num":"0"},{"block_num":"0","par_num":"0","height":"0.010733596065588102","word_num":"0","left":"0.04651163779300483","line_num":"0","top":"0.9370015948857551","level":"0","width":"0.062499989854528544","page_num":"0","text":"© VoiceAccessTransforn 267","conf":"1"},{"left":"0.040697675577357234","line_num":"0","conf":"0.5","text":"(C) Kernel nhr","page_num":"0","par_num":"0","width":"0.027616277654120266","top":"0.9545454545454546","word_num":"0","height":"0.0071770334928229484","level":"0","block_num":"0"},{"height":"0.006968640444571572","text":"Workcnace accociated with hranch \"IV-20272-ai-renorts-nromotion-nades' hac heon rectored /l Pollback II Confiaure (5 minutes adol","word_num":"0","top":"0.9860627181052405","left":"0.00436050763038566","par_num":"0","level":"0","line_num":"0","width":"0.2572674041098737","page_num":"0","conf":"0.5","block_num":"0"},{"page_num":"0","block_num":"0","left":"0.3226744244193513","level":"0","text":"C) AutomatedPenortGenerated.nhn","top":"0.07974481661011934","width":"0.06831394865157758","word_num":"0","conf":"0.5","height":"0.007363196955533335","par_num":"0","line_num":"0"},{"top":"0.13240418151987454","par_num":"0","left":"0.30377907075349514","word_num":"0","height":"0.006968640444571461","block_num":"0","line_num":"0","level":"0","conf":"0.5","page_num":"0","text":"©IntegrationApp/Service.php","width":"0.05813952709766146"},{"height":"0.011442799697462203","top":"0.1285470039447476","line_num":"0","width":"0.045217377074221354","word_num":"0","conf":"0.30000001192092896","page_num":"0","level":"0","left":"0.37053214281151753","par_num":"0","text":"(c)LeadConverted.php","block_num":"0"},{"level":"0","left":"0.32558139821374393","word_num":"0","block_num":"0","page_num":"0","line_num":"0","top":"0.15311004775481918","par_num":"0","text":"© AutomatedReportsCommand.php","height":"0.010653018190910135","width":"0.06976743961902371","conf":"1"},{"left":"0.4026162842993174","height":"0.010452960286604362","line_num":"0","par_num":"0","width":"0.04796511061648101","block_num":"0","top":"0.0801393733410184","conf":"1","text":"Salesforce/Service.php","word_num":"0","page_num":"0","level":"0"},{"line_num":"0","page_num":"0","text":"= custom.log","conf":"1","word_num":"0","block_num":"0","width":"0.02906976354883073","height":"0.010452960286604362","top":"0.05574912943857935","level":"0","left":"0.5000000038920669","par_num":"0"},{"block_num":"0","level":"0","line_num":"0","par_num":"0","page_num":"0","text":"625","top":"0.3658536592133068","height":"0.03135888314133051","width":"0.008720929952377943","word_num":"0","left":"0.4985465116953227","conf":"0.30000001192092896"},{"top":"0.45296167279584676","level":"0","word_num":"0","line_num":"0","width":"0.008720929952377943","height":"0.013937280889142922","left":"0.4970930233232297","conf":"0.30000001192092896","block_num":"0","page_num":"0","par_num":"0","text":"63€"},{"line_num":"0","text":"_ 631","width":"0.013081394611520969","word_num":"0","conf":"0.30000001192092896","par_num":"0","level":"0","top":"0.47368421043754594","page_num":"0","block_num":"0","height":"0.010636347142513158","left":"0.4927325585484948"},{"word_num":"0","conf":"1","top":"0.4912891991249906","line_num":"0","level":"0","page_num":"0","height":"0.010452960286604251","par_num":"0","text":"632","left":"0.49709302419217827","block_num":"0","width":"0.01017441774936434"},{"block_num":"0","text":"A 6s3","page_num":"0","word_num":"0","line_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.498257839519866","left":"0.4927325582635845","width":"0.015988371473677543","level":"0","height":"0.03523498364802946"},{"left":"0.4927325557053432","page_num":"0","block_num":"0","par_num":"0","top":"0.662020906202389","width":"0.005813958162957045","word_num":"0","conf":"0.30000001192092896","text":"-/|/|","height":"0.13588849665445568","line_num":"0","level":"0"},{"top":"0.05574912943857935","line_num":"0","left":"0.5363372126591469","par_num":"0","width":"0.027616275117752442","word_num":"0","conf":"0.5","block_num":"0","height":"0.010452960286604362","page_num":"0","text":"=laravel.log","level":"0"},{"conf":"0.5","par_num":"0","text":"A SF (jiminny@localhost]","top":"0.05574912943857935","left":"0.5712209357771748","word_num":"0","height":"0.010452960286604362","block_num":"0","level":"0","width":"0.050872087478637695","page_num":"0","line_num":"0"},{"height":"0.010452960286604362","line_num":"0","block_num":"0","width":"0.06104650395981792","conf":"0.5","level":"0","page_num":"0","text":"4 HS_local jiminny@localhost]","top":"0.05574912943857935","par_num":"0","word_num":"0","left":"0.6308139611564553"},{"conf":"0.30000001192092896","line_num":"0","height":"0.010452960286604362","level":"0","page_num":"0","block_num":"0","par_num":"0","text":"« console (PROD] X 4 console [EU]","top":"0.05574912943857935","left":"0.7005814048527228","word_num":"0","width":"0.07703487416531174"},{"par_num":"0","line_num":"0","block_num":"0","word_num":"0","conf":"0.5","width":"0.04360464785961393","height":"0.010452960286604362","text":"« console [STAGING]","top":"0.05574912978701141","page_num":"0","left":"0.7848837203393775","level":"0"},{"top":"0.12195122037934591","block_num":"0","page_num":"0","level":"0","width":"0.24418603613021528","left":"0.518895335370085","height":"0.010452960286604362","par_num":"0","word_num":"0","text":"¡ELECT * FROM crm_ profiles cp J0IN users u 1..n<->1: on u.id = cp.user id WHERE u.team_id = 711:","line_num":"0","conf":"0.5"},{"line_num":"0","level":"0","page_num":"0","width":"0.18313951695219","word_num":"0","block_num":"0","height":"0.006968640444571572","left":"0.5145348835297199","text":"#[PASSWORD_DOTS]","top":"0.18815331043973516","conf":"1","par_num":"0"},{"level":"0","par_num":"0","height":"0.010666911111493982","page_num":"0","line_num":"0","block_num":"0","conf":"1","left":"0.514534883997866","top":"0.21929824547426713","text":"SELECT * FROM opportunities","word_num":"0","width":"0.07267441140844466"},{"top":"0.23693379842812645","par_num":"0","text":"SELECT","block_num":"0","height":"0.010452960286604251","conf":"0.5","left":"0.5145348855072952","level":"0","width":"0.017441858636571994","word_num":"0","page_num":"0","line_num":"0"},{"left":"0.5886628066187545","block_num":"0","top":"0.2229965160146481","level":"0","line_num":"0","text":"WHERE team 1d = 955 order oy uodated at desc:","word_num":"0","conf":"0.5","page_num":"0","par_num":"0","width":"0.11627905419532292","height":"0.006968640444571461"},{"word_num":"0","page_num":"0","height":"0.010452960286604362","left":"0.524709328762915","par_num":"0","conf":"0.5","line_num":"0","level":"0","text":"CONCAT(u,id. CASE WHEN u.id = t.ownen id THEN • (owner)' ELSE •• END) AS user id.l","block_num":"0","top":"0.2543554015640148","width":"0.21220927542828505"},{"page_num":"0","left":"0.739825578177719","level":"0","block_num":"0","par_num":"0","top":"0.25757575765558993","conf":"1","height":"0.010716925017191015","width":"0.0770348843107832","text":"CASE can be replaced with 'IF' call","word_num":"0","line_num":"0"},{"level":"0","word_num":"0","par_num":"0","left":"0.5247093018105172","text":"u.emanl","width":"0.02180232646617486","height":"0.006968641205077342","line_num":"0","page_num":"0","conf":"0.30000001192092896","block_num":"0","top":"0.27526132397353575"},{"text":"sa.*","conf":"0.30000001192092896","line_num":"0","height":"0.006968640444571572","left":"0.5261627917204023","top":"0.29268292716447375","word_num":"0","level":"0","page_num":"0","par_num":"0","width":"0.013081394611520913","block_num":"0"},{"conf":"1","word_num":"0","page_num":"0","left":"0.5247093030529341","block_num":"0","level":"0","line_num":"0","par_num":"0","text":"towner id FROM social accounts sa","height":"0.007279840192536136","width":"0.09011627765412022","top":"0.31010452972006874"},{"level":"0","page_num":"0","par_num":"0","top":"0.3275261323538545","word_num":"0","line_num":"0","left":"0.5159883725551977","block_num":"0","width":"0.0959302313784336","conf":"0.30000001192092896","height":"0.006968641205077342","text":"0iN usens u on tuid= sa.sociabile id"},{"left":"0.5188953472151772","par_num":"0","block_num":"0","line_num":"0","top":"0.35167464110198365","width":"0.06395349096744618","height":"0.0072103763501228935","page_num":"0","conf":"0.5","text":"EST I0TN team domains +d","word_num":"0","level":"0"},{"left":"0.527616281768338","width":"0.052325578446083876","word_num":"0","text":"ON +dteam id = +.io","height":"0.0071770334928229484","top":"0.3692185007974482","par_num":"0","line_num":"0","level":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896"},{"line_num":"0","left":"0.5276162787983414","word_num":"0","par_num":"0","block_num":"0","page_num":"0","level":"0","height":"0.007179812381141959","text":"AND +ddeleted at ts NullIl","top":"0.38675958171989255","width":"0.06540697686215668","conf":"0.30000001192092896"},{"level":"0","par_num":"0","line_num":"0","height":"0.01049186092054244","top":"0.40418118517443635","width":"0.18604649888708236","left":"0.5261628045788803","text":"AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))","conf":"1","block_num":"0","word_num":"0","page_num":"0"},{"top":"0.4216027877916515","text":"¡POIID RV + id + namo alondan domain","block_num":"0","conf":"0.30000001192092896","line_num":"0","left":"0.5188953576974001","height":"0.006968640444571461","level":"0","page_num":"0","width":"0.09738371220040831","par_num":"0","word_num":"0"},{"par_num":"0","width":"0.08430231885707129","page_num":"0","left":"0.5188953563881763","top":"0.439024390579108","conf":"0.30000001192092896","block_num":"0","line_num":"0","text":"IpnEp RV + namo calondan domain.","height":"0.006968640444571461","word_num":"0","level":"0"},{"conf":"0.30000001192092896","block_num":"0","line_num":"0","par_num":"0","height":"0.0071770334928229484","text":"thono 1 toam id = 999.","top":"0.49122807017543857","left":"0.5188953473886625","word_num":"0","width":"0.05523256038097624","page_num":"0","level":"0"},{"height":"0.010672467367120464","line_num":"0","conf":"1","top":"0.5435540077887459","page_num":"0","par_num":"0","level":"0","width":"0.1642441749572754","block_num":"0","left":"0.5188953432480246","word_num":"0","text":"ielect * from activities where id = 74049485: # team 563 crm 53%"},{"left":"0.5188953526554162","text":"ielect * from","height":"0.011164274322169154","par_num":"0","block_num":"0","top":"0.5606060606060606","page_num":"0","width":"0.0319767404109873","line_num":"0","conf":"0.5","word_num":"0","level":"0"},{"par_num":"0","block_num":"0","page_num":"0","line_num":"0","left":"0.5537790821543547","text":"activities where id = 73272382: # team 563 crm 537","width":"0.1308139435788419","level":"0","height":"0.014354066985646008","top":"0.5574162679425837","conf":"1","word_num":"0"},{"conf":"1","par_num":"0","level":"0","top":"0.5781499202830295","width":"0.1642441749572754","left":"0.5188953608348307","word_num":"0","text":"ielect * from activities where id = 64400389: # team 563 crm 537","line_num":"0","height":"0.010700253208288268","page_num":"0","block_num":"0"},{"conf":"0.5","line_num":"0","height":"0.010577996571858761","left":"0.5188953526602176","level":"0","block_num":"0","word_num":"0","text":"ielect * fro","page_num":"0","par_num":"0","top":"0.5956937798195339","width":"0.030523251979909127"},{"height":"0.010577996571858761","line_num":"0","text":"where id = 58081273: # team 563 crm 537","block_num":"0","level":"0","word_num":"0","left":"0.5828488480160472","page_num":"0","conf":"1","par_num":"0","top":"0.5956937798195339","width":"0.10174417495727528"},{"left":"0.5188953509804954","height":"0.013940059777462155","conf":"1","block_num":"0","level":"0","par_num":"0","text":"ielect * from activities where id = 54520297; # team 563 crm 53%","top":"0.6132376398008754","width":"0.16424418510274685","word_num":"0","page_num":"0","line_num":"0"},{"text":"ielect * from participants where activity id = 58081273:","width":"0.1438953419949146","height":"0.010486303904410188","left":"0.5188953426330295","par_num":"0","level":"0","top":"0.6306620215286144","conf":"0.5","block_num":"0","word_num":"0","page_num":"0","line_num":"0"},{"block_num":"0","line_num":"0","top":"0.6655052273287644","word_num":"0","conf":"0.5","width":"0.2107557946063101","level":"0","left":"0.5188953470933815","par_num":"0","page_num":"0","text":"¡elect * from activities where crm confiquration id = 537 and provider = 'aircall'","height":"0.010730817177268981"},{"page_num":"0","conf":"0.30000001192092896","left":"0.5188953503697433","width":"0.13081395372431326","top":"0.686411149784608","par_num":"0","height":"0.006968641205077342","block_num":"0","line_num":"0","text":"ind account 1d = 19003658 orden bv undated at desc.","word_num":"0","level":"0"},{"word_num":"0","block_num":"0","height":"0.010519646761710133","conf":"1","top":"0.7177033492568089","text":"ielect * from contacts where com confiauration id = 537 and id = 35957759:","left":"0.5188953457687362","level":"0","line_num":"0","par_num":"0","page_num":"0","width":"0.19040698193489236"},{"conf":"0.5","left":"0.5188953639312236","page_num":"0","height":"0.010452960286604362","top":"0.7351916384978128","level":"0","block_num":"0","width":"0.19040696164394944","word_num":"0","text":"ielect * fron accounts where com confiaunation id = 537 and id = 19003658:","par_num":"0","line_num":"0"},{"line_num":"0","text":"elect * from automated nenort results where id = 1976•|","conf":"0.5","block_num":"0","page_num":"0","word_num":"0","level":"0","par_num":"0","top":"0.7735191639942539","width":"0.1424418510274683","height":"0.007182590508955311","left":"0.5188953602823727"},{"width":"0.12645347067650325","text":"oloct + fnom antivity coanchoc whono id = 9771/•","page_num":"0","level":"0","conf":"0.30000001192092896","top":"0.8083623696731846","line_num":"0","par_num":"0","block_num":"0","left":"0.5188953664664406","word_num":"0","height":"0.006968640444571461"},{"height":"0.017552194793068354","text":"ielect * from","word_num":"0","width":"0.03488371980951188","level":"0","line_num":"0","left":"0.5188953499419977","conf":"0.5","block_num":"0","page_num":"0","par_num":"0","top":"0.8221690591125324"},{"word_num":"0","left":"0.5523255829671783","height":"0.020905922094220375","page_num":"0","line_num":"0","block_num":"0","conf":"1","par_num":"0","text":"activity_search_filters where activity_search_id = 87714;","width":"0.15116278668667404","level":"0","top":"0.8188153312873845"},{"block_num":"0","left":"0.5188953482926526","page_num":"0","height":"0.0071770334928229484","line_num":"0","level":"0","par_num":"0","top":"0.8604465709728868","width":"0.22965116703763921","conf":"0.30000001192092896","word_num":"0","text":"ASLSCT * SPOM activitioc WHEpE muid to hin(198274472-202d-4140.0d04-72665£0546a00) = muid"},{"left":"0.5188953615389494","line_num":"0","text":"nmuid to bin(1194214k-a651_4hch-954f-cc45402001011) = mudd!","conf":"0.30000001192092896","page_num":"0","top":"0.8779904306220095","block_num":"0","par_num":"0","height":"0.0071770334928229484","level":"0","width":"0.15843022123296213","word_num":"0"},{"top":"0.00000000004986444590571182","line_num":"0","par_num":"0","text":"$0","width":"0.013081394611521024","level":"0","left":"0.8575581397763615","block_num":"0","word_num":"0","conf":"0.30000001192092896","height":"0.017421602252187474","page_num":"0"},{"top":"0.006968641098971218","height":"0.006968641205077342","left":"0.9127906980217457","page_num":"0","conf":"0.30000001192092896","text":"100% 5","level":"0","par_num":"0","line_num":"0","block_num":"0","width":"0.018895348335834172","word_num":"0"},{"conf":"1","top":"0.0031897927794189984","page_num":"0","par_num":"0","level":"0","line_num":"0","block_num":"0","left":"0.9476744217832128","height":"0.01074748898617195","text":"Mon 27 Apr 18:46:10","width":"0.04651162472177062","word_num":"0"},{"par_num":"0","page_num":"0","top":"0.027874565327081102","width":"0.07558138827060135","left":"0.835755813713537","conf":"1","line_num":"0","word_num":"0","level":"0","block_num":"0","height":"0.010452960286604362","text":"AutomatedReportsRepositoryTestv"},{"page_num":"0","conf":"0.30000001192092896","par_num":"0","text":"So jiminny","level":"0","block_num":"0","top":"0.0797448165869219","width":"0.02470930079196354","word_num":"0","height":"0.011164274322169043","left":"0.9607558159405555","line_num":"0"},{"word_num":"0","page_num":"0","block_num":"0","line_num":"0","left":"0.9156976820891651","conf":"0.30000001192092896","par_num":"0","text":"и 037 A1 A35 У 63 ^","top":"0.10104529661439754","level":"0","width":"0.06395348082197472","height":"0.01059744650857497"},{"line_num":"0","text":"W Windsurf Teams 53:8 UTF-8 4 spaces","par_num":"0","word_num":"0","conf":"0.5","top":"0.9824561403508771","level":"0","block_num":"0","page_num":"0","width":"0.10029068398982921","height":"0.014354066985646008","left":"0.893895362480955"}]...
|
PhpStorm
|
AppleNative
|
faVsco.js – UserTransformer.php
|
1
|
4821
|
NULL
|
NULL
|
|
89201
|
SlackVIewHomeActivityFllesLaterMoreHistoryJiminny… SlackVIewHomeActivityFllesLaterMoreHistoryJiminny…..@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...A Direct messagesP. Galya Dimitrova #R. Aneliya Angelova€. Vasil Vasilev3 Aneliya Angelova, ...R. Nikolay YankovC. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.P. Gabriela Dureva#::AnndS Jira Cloud® ToastWindowHelpQ Describe what you are looking for# releases• Messagesr Files• BookmarksWhen: 04/2// ZUzo 11:35:50View JobGitHub APP 2:42 PM1/ new commits pushed to master by lodorstamatov)iminnve42c672c - JY-20478: implement stop sync calendar events on revoked grants8cf15566 -JY-204/8: nx unit tests6425ebb4| - JY-204/8: add migration for calendars.status to allow 20 chars65088554 - JY-204/8: nx warning messages, uodate calendar/emalls status on successjiminny/app Added by GitHub| CircleCI APP 3:05 PMDeployment Successful!Project: appla?When: 04/27/2026 12:05:14View JobGitHub APP 3:16 PM20 new commits pushed to master by mihailmihaylovjiminnyЗас71c26 - JY-19995: Update command693b8c5f - JY-19995: Delete unused s3 directoriesbesbelsb -Jr-ly77o. Upaate logs8d5a041b - JY-19995: Fix cs/testse6bd5b18 - Merge branch 'master' into JY-19995-delete-leftover-tracks-commandshow moreaiminny/app Added by GitHutCircleCI APP 3:37 PM•Deployment Successful!Project: appWhen: 04/27 202612-37-16Thg!View JobMessage #releases+ AaA 10%4 8 Mon27 Apr 18:54:34*8 22Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yresponsiveadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports columnto users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →.trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"block_num":"0","conf":& [{"block_num":"0","conf":"1","height":"0.017421602252187585","line_num":"0","top":"0.000000000441850445120906","width":"0.014534883042599294","left":"0.01598837218994067","text":"Slack","page_num":"0","par_num":"0","level":"0","word_num":"0"},{"word_num":"0","conf":"0.30000001192092896","width":"0.010174418383456299","page_num":"0","left":"0.06395348841001604","line_num":"0","text":"VIew","level":"0","height":"0.006968641205077342","block_num":"0","top":"0.00696864102015915","par_num":"0"},{"top":"0.13588850153592147","height":"0.013937282410154683","page_num":"0","conf":"1","line_num":"0","width":"0.011627906180442649","word_num":"0","block_num":"0","left":"0.0058139540803213065","level":"0","par_num":"0","text":"Home"},{"conf":"1","text":"Activity","height":"0.017421602252187585","top":"0.24390243911780862","block_num":"0","page_num":"0","left":"0.004360465697692593","line_num":"0","level":"0","width":"0.014534883042599294","word_num":"0","par_num":"0"},{"width":"0.008720929952377967","line_num":"0","text":"Flles","page_num":"0","height":"0.017421602252187474","left":"0.007267442073229618","block_num":"0","word_num":"0","conf":"0.5","level":"0","top":"0.29965156842965546","par_num":"0"},{"level":"0","line_num":"0","par_num":"0","text":"Later","page_num":"0","word_num":"0","top":"0.3519163764000386","block_num":"0","conf":"1","width":"0.010174418383456292","height":"0.017421602252187585","left":"0.005813953768543167"},{"top":"0.407665505020242","text":"More","conf":"1","block_num":"0","left":"0.0058139540803213065","width":"0.011627906180442649","height":"0.013937282410154683","level":"0","line_num":"0","par_num":"0","word_num":"0","page_num":"0"},{"top":"0.0034843203512524568","line_num":"0","text":"History","word_num":"0","left":"0.09302325638483132","height":"0.013937282410154683","par_num":"0","block_num":"0","level":"0","page_num":"0","conf":"1","width":"0.01744185990475594"},{"top":"0.06271777054406291","text":"Jiminny…..","word_num":"0","page_num":"0","left":"0.027616280227326647","level":"0","conf":"0.5","line_num":"0","par_num":"0","width":"0.030523254516276906","height":"0.020905922094220375","block_num":"0"},{"page_num":"0","par_num":"0","block_num":"0","top":"0.09407665591941561","level":"0","width":"0.04941860158392724","word_num":"0","conf":"0.5","left":"0.03343023162082732","text":"@ jiminny-x-integrati","line_num":"0","height":"0.010452960286604362"},{"height":"0.017571645490290444","par_num":"0","level":"0","line_num":"0","left":"0.03343023206285708","width":"0.05377906941353006","word_num":"0","conf":"0.5","text":"& platform-inner-team","page_num":"0","top":"0.11483253574621899","block_num":"0"},{"width":"0.029069766085198585","height":"0.01754385964912275","block_num":"0","conf":"0.30000001192092896","text":"© Channels","level":"0","line_num":"0","page_num":"0","par_num":"0","left":"0.029069768796061723","top":"0.14274322169059017","word_num":"0"},{"text":"# ai-chapter","width":"0.03344527964896344","conf":"1","height":"0.01758827927390172","par_num":"0","line_num":"0","word_num":"0","level":"0","left":"0.033422709569745725","block_num":"0","top":"0.16716404840283072","page_num":"0"},{"block_num":"0","height":"0.01758831577818165","conf":"0.5","width":"0.021802323929806973","left":"0.033430233468533056","level":"0","par_num":"0","top":"0.18815331079259123","word_num":"0","line_num":"0","text":"# alerts","page_num":"0"},{"level":"0","left":"0.034883720326690446","word_num":"0","par_num":"0","conf":"0.30000001192092896","top":"0.2160278744399171","page_num":"0","text":"i backend","height":"0.007257612128006796","block_num":"0","line_num":"0","width":"0.026162791759409804"},{"text":"# confusion-clinic","level":"0","height":"0.017746694160230225","conf":"0.5","line_num":"0","par_num":"0","top":"0.23344947772024505","width":"0.045058138827060126","page_num":"0","block_num":"0","left":"0.03343023220953198","word_num":"0"},{"width":"0.037790696671668525","text":"# curiosity_lab","word_num":"0","level":"0","height":"0.014354066985645897","par_num":"0","block_num":"0","top":"0.25757575757575757","conf":"1","left":"0.03343023341543612","line_num":"0","page_num":"0"},{"height":"0.017421602252187585","top":"0.2787456450411536","block_num":"0","page_num":"0","conf":"1","word_num":"0","left":"0.03343023248338709","width":"0.03633720824059019","line_num":"0","level":"0","par_num":"0","text":"# engineering"},{"top":"0.3030303029362562","text":"# generall","word_num":"0","left":"0.03343023460359518","par_num":"0","block_num":"0","width":"0.026162789223041938","line_num":"0","height":"0.010558546635142552","conf":"0.5","level":"0","page_num":"0"},{"page_num":"0","block_num":"0","line_num":"0","par_num":"0","word_num":"0","level":"0","height":"0.017699459142852314","top":"0.3237639551848104","width":"0.04069767353382517","text":"# infra-changes","conf":"1","left":"0.033430233678823834"},{"par_num":"0","height":"0.017421602252187474","word_num":"0","block_num":"0","page_num":"0","line_num":"0","left":"0.03343023267189024","width":"0.03343023137843355","level":"0","text":"# jiminny-bg","top":"0.3449477351689121","conf":"1"},{"top":"0.3692185007974482","left":"0.03343023235488081","width":"0.045058138827060126","word_num":"0","block_num":"0","conf":"1","text":"# platform-tickets","level":"0","height":"0.01754385964912275","line_num":"0","page_num":"0","par_num":"0"},{"par_num":"0","text":"# product_launches","width":"0.04941860158392724","block_num":"0","height":"0.01771335206343605","top":"0.3899521529042582","word_num":"0","conf":"1","left":"0.03343023562535342","page_num":"0","line_num":"0","level":"0"},{"height":"0.010452960286604362","page_num":"0","conf":"1","level":"0","line_num":"0","par_num":"0","left":"0.03343023460359518","top":"0.41463414720861425","text":"# random","width":"0.026162789223041938","word_num":"0","block_num":"0"},{"level":"0","block_num":"0","line_num":"0","left":"0.033430233051310106","text":"# releases","par_num":"0","word_num":"0","height":"0.017554973681387476","width":"0.02761627765412026","conf":"1","page_num":"0","top":"0.43540669862046466"},{"block_num":"0","conf":"1","page_num":"0","level":"0","top":"0.45614035062370617","par_num":"0","line_num":"0","height":"0.017727244984019896","width":"0.03488371980951188","word_num":"0","text":"# sofia-office","left":"0.0334302336998952"},{"left":"0.033430233969918705","line_num":"0","conf":"0.5","page_num":"0","width":"0.027616277654120266","text":"# support","word_num":"0","block_num":"0","level":"0","height":"0.013937282410154683","par_num":"0","top":"0.48083623672755915"},{"top":"0.5015948961656965","width":"0.03488371980951188","word_num":"0","block_num":"0","text":"# thank-yous","conf":"1","height":"0.017568866601971322","page_num":"0","left":"0.0334302336998952","level":"0","line_num":"0","par_num":"0"},{"left":"0.033430235379805606","height":"0.017741137904603632","line_num":"0","par_num":"0","text":"# the_people_of jimi...","top":"0.5223285484012261","block_num":"0","width":"0.05523255530824053","conf":"0.5","level":"0","word_num":"0","page_num":"0"},{"text":"A Direct messages","top":"0.5562268533812647","line_num":"0","level":"0","word_num":"0","conf":"1","height":"0.012981833073130833","left":"0.02893790364249992","width":"0.043868379389986084","page_num":"0","block_num":"0","par_num":"0"},{"text":"P. Galya Dimitrova #","level":"0","block_num":"0","height":"0.021881578071265673","left":"0.03320334583773158","line_num":"0","page_num":"0","par_num":"0","conf":"0.30000001192092896","top":"0.5743689760240951","word_num":"0","width":"0.052735394619880825"},{"level":"0","block_num":"0","height":"0.021030958379474662","top":"0.5956937797519628","width":"0.04941860158392724","word_num":"0","line_num":"0","conf":"0.5","page_num":"0","left":"0.03197674569575711","par_num":"0","text":"R. Aneliya Angelova"},{"width":"0.03633720824059019","conf":"0.5","height":"0.017749473048549347","word_num":"0","level":"0","left":"0.03343023252693484","line_num":"0","text":"€. Vasil Vasilev","block_num":"0","page_num":"0","par_num":"0","top":"0.6202090596724255"},{"text":"3 Aneliya Angelova, ...","word_num":"0","block_num":"0","left":"0.033430237792518816","line_num":"0","top":"0.6443381180735741","level":"0","height":"0.017682787333949346","conf":"0.5","page_num":"0","par_num":"0","width":"0.05377906434079434"},{"top":"0.6655052266178086","height":"0.017421602252187585","conf":"0.5","par_num":"0","line_num":"0","left":"0.03343023364877599","width":"0.04215116196490349","page_num":"0","word_num":"0","level":"0","block_num":"0","text":"R. Nikolay Yankov"},{"width":"0.04215116196490349","word_num":"0","level":"0","top":"0.6864111500801692","line_num":"0","left":"0.0334302320269567","block_num":"0","conf":"0.5","page_num":"0","par_num":"0","height":"0.0177355801279655","text":"C. Nikolay Ivanov"},{"block_num":"0","left":"0.033430233608541776","text":"R. Nikolay Nikolov","word_num":"0","line_num":"0","page_num":"0","level":"0","par_num":"0","height":"0.01769668025453308","width":"0.045058138827060126","conf":"0.5","top":"0.710526315793022"},{"line_num":"0","width":"0.04796511568921677","top":"0.7317073172101431","page_num":"0","conf":"0.30000001192092896","word_num":"0","left":"0.0334302335307816","level":"0","block_num":"0","height":"0.017421602252187585","par_num":"0","text":"fl. Stefka Stoyanova"},{"line_num":"0","left":"0.033430233608541776","par_num":"0","text":"R. Adelina Petrova","width":"0.045058138827060126","top":"0.7526132408363451","level":"0","word_num":"0","conf":"1","block_num":"0","height":"0.017721687207381653","page_num":"0"},{"par_num":"0","height":"0.01771057317511704","level":"0","top":"0.7767145135705419","word_num":"0","block_num":"0","line_num":"0","left":"0.03343023367505823","page_num":"0","text":"R. Stoyan Tomov","conf":"0.5","width":"0.04069767353382516"},{"line_num":"0","level":"0","word_num":"0","width":"0.043604647859613946","par_num":"0","page_num":"0","conf":"1","top":"0.8013937287417153","text":"( Petko Kashinski","height":"0.010452960286604362","block_num":"0","left":"0.0334302366242539"},{"left":"0.033430233608541776","width":"0.045058138827060126","word_num":"0","height":"0.017552194793068465","page_num":"0","text":"88. Mario Georgiev","top":"0.8221690590544602","block_num":"0","conf":"0.5","level":"0","par_num":"0","line_num":"0"},{"top":"0.8466898963487846","width":"0.043604647859613946","level":"0","word_num":"0","line_num":"0","page_num":"0","block_num":"0","height":"0.010566881779088155","par_num":"0","left":"0.03343023662617514","text":"Ss: Todor Stamatov.","conf":"0.5"},{"level":"0","block_num":"0","conf":"0.5","width":"0.04505813882706013","par_num":"0","height":"0.017421602252187474","left":"0.03343023190749662","line_num":"0","text":"P. Gabriela Dureva","word_num":"0","page_num":"0","top":"0.8641114982351142"},{"level":"0","top":"0.8989547046999035","conf":"0.30000001192092896","line_num":"0","block_num":"0","par_num":"0","width":"0.020348835498728648","word_num":"0","height":"0.010452960286604362","left":"0.027616278907612524","text":"#::Annd","page_num":"0"},{"level":"0","left":"0.03343023298627709","line_num":"0","height":"0.017421602252187474","width":"0.03197674294735524","block_num":"0","par_num":"0","word_num":"0","conf":"0.5","text":"S Jira Cloud","page_num":"0","top":"0.9198606275759968"},{"conf":"0.30000001192092896","block_num":"0","line_num":"0","par_num":"0","text":"® Toast","width":"0.023255812360885295","page_num":"0","height":"0.017766144857452204","left":"0.03343023412519857","top":"0.9407665505780702","word_num":"0","level":"0"},{"level":"0","page_num":"0","height":"0.017421602252187585","top":"-0.00000000002272559918026218","left":"0.11482558143328095","width":"0.01744185990475594","block_num":"0","conf":"1","par_num":"0","text":"Window","word_num":"0","line_num":"0"},{"width":"0.013081394611520969","par_num":"0","text":"Help","conf":"1","left":"0.13662790722427826","block_num":"0","line_num":"0","height":"0.017421602252187585","page_num":"0","level":"0","top":"-0.00000000002272559918026218","word_num":"0"},{"height":"0.017579980634236048","par_num":"0","top":"0.027874564683673886","width":"0.07267441648118039","word_num":"0","page_num":"0","text":"Q Describe what you are looking for","conf":"1","line_num":"0","level":"0","left":"0.14098837474722473","block_num":"0"},{"level":"0","top":"0.06618819745513704","block_num":"0","par_num":"0","width":"0.03197674294735521","height":"0.01395117533073853","line_num":"0","text":"# releases","word_num":"0","conf":"1","left":"0.11337209426127211","page_num":"0"},{"conf":"1","par_num":"0","level":"0","top":"0.10104529652728955","left":"0.10465116432315079","width":"0.024709300791963637","height":"0.01059744650857486","line_num":"0","page_num":"0","text":"• Messages","block_num":"0","word_num":"0"},{"top":"0.1044657097288676","line_num":"0","block_num":"0","width":"0.017441858636571994","par_num":"0","left":"0.13517442043055924","page_num":"0","word_num":"0","conf":"0.30000001192092896","level":"0","text":"r Files","height":"0.0071770334928229484"},{"text":"• Bookmarks","left":"0.15843023376708676","word_num":"0","line_num":"0","width":"0.029069766085198595","level":"0","block_num":"0","par_num":"0","page_num":"0","height":"0.0071770334928229484","top":"0.1044657097288676","conf":"0.5"},{"conf":"0.30000001192092896","page_num":"0","block_num":"0","par_num":"0","line_num":"0","word_num":"0","height":"0.007235383302971465","text":"When: 04/2// ZUzo 11:35:50","top":"0.12195121954001853","width":"0.06540697686215663","left":"0.2005813950836582","level":"0"},{"text":"View Job","word_num":"0","page_num":"0","height":"0.007343747018817126","left":"0.11918604845074231","level":"0","par_num":"0","top":"0.20557491325434107","conf":"0.30000001192092896","width":"0.020348835498728637","line_num":"0","block_num":"0"},{"text":"GitHub APP 2:42 PM","word_num":"0","left":"0.11773255960951272","line_num":"0","conf":"1","par_num":"0","height":"0.017721687207381653","top":"0.2296650718982014","page_num":"0","width":"0.045058138827060126","level":"0","block_num":"0"},{"word_num":"0","block_num":"0","width":"0.13517440633570896","level":"0","line_num":"0","left":"0.11773257237957876","text":"1/ new commits pushed to master by lodorstamatov)iminnv","height":"0.007207597461803994","conf":"0.5","page_num":"0","par_num":"0","top":"0.2543554009942979"},{"conf":"0.5","level":"0","left":"0.12354651823426048","text":"e42c672c - JY-20478: implement stop sync calendar events on revoked grants","block_num":"0","line_num":"0","par_num":"0","word_num":"0","top":"0.2717770037782289","width":"0.17296511061648107","page_num":"0","height":"0.017696680254533192"},{"level":"0","top":"0.29585326947918344","left":"0.12354651604811667","conf":"0.5","line_num":"0","par_num":"0","text":"8cf15566 -JY-204/8: nx unit tests","height":"0.007282619080855368","page_num":"0","width":"0.0770348792380475","word_num":"0","block_num":"0"},{"top":"0.3133971291866029","word_num":"0","level":"0","block_num":"0","conf":"0.5","width":"0.1627906839898292","line_num":"0","left":"0.12354650911225253","page_num":"0","par_num":"0","text":"6425ebb4| - JY-204/8: add migration for calendars.status to allow 20 chars","height":"0.0071770334928229484"},{"line_num":"0","conf":"1","par_num":"0","width":"0.18895346053103182","top":"0.3484320562744495","height":"0.007229825526333333","block_num":"0","level":"0","text":"65088554 - JY-204/8: nx warning messages, uodate calendar/emalls status on success","word_num":"0","page_num":"0","left":"0.12354653944915736"},{"block_num":"0","line_num":"0","top":"0.3832752618685624","text":"jiminny/app Added by GitHub","height":"0.01066413222317486","page_num":"0","conf":"0.5","width":"0.06104650395981809","par_num":"0","level":"0","word_num":"0","left":"0.12209302481919587"},{"conf":"0.30000001192092896","width":"0.05087209255137341","left":"0.11482558269301889","word_num":"0","level":"0","height":"0.0176688944133655","line_num":"0","par_num":"0","block_num":"0","page_num":"0","text":"| CircleCI APP 3:05 PM","top":"0.40418118505829237"},{"height":"0.01754385964912275","block_num":"0","conf":"1","text":"Deployment Successful!","width":"0.0668604627568671","line_num":"0","word_num":"0","level":"0","par_num":"0","top":"0.42503987240829344","page_num":"0","left":"0.11337209315380667"},{"top":"0.4529505582137161","height":"0.01754385964912286","block_num":"0","conf":"1","level":"0","text":"Project: app","line_num":"0","page_num":"0","width":"0.02906976608519858","par_num":"0","word_num":"0","left":"0.11627907008453332"},{"word_num":"0","left":"0.1162790696863644","top":"0.4773519167115121","block_num":"0","conf":"0.30000001192092896","page_num":"0","height":"0.006968640444571572","par_num":"0","level":"0","text":"la?","width":"0.01017441774936434","line_num":"0"},{"line_num":"0","word_num":"0","height":"0.013948396442419408","left":"0.19912790702192593","page_num":"0","block_num":"0","level":"0","text":"When: 04/27/2026 12:05:14","top":"0.4529505582224156","conf":"1","par_num":"0","width":"0.06831395372431329"},{"word_num":"0","height":"0.006968640444571461","left":"0.11918604639265475","conf":"0.5","page_num":"0","text":"View Job","line_num":"0","par_num":"0","block_num":"0","level":"0","top":"0.5435540073038466","width":"0.018895347067650323"},{"top":"0.5677830940988836","width":"0.04505813882706014","word_num":"0","par_num":"0","text":"GitHub APP 3:16 PM","page_num":"0","line_num":"0","height":"0.014354066985645897","block_num":"0","level":"0","left":"0.11773255961024609","conf":"1"},{"block_num":"0","conf":"1","page_num":"0","line_num":"0","width":"0.13517440633570893","height":"0.011164274322169043","left":"0.11627906885846617","top":"0.5885167464114832","par_num":"0","level":"0","text":"20 new commits pushed to master by mihailmihaylovjiminny","word_num":"0"},{"conf":"1","block_num":"0","word_num":"0","page_num":"0","text":"Зас71c26 - JY-19995: Update command","width":"0.09011627765412027","level":"0","par_num":"0","left":"0.12354651350170896","height":"0.013937282410154683","top":"0.6097560974594568","line_num":"0"},{"conf":"1","par_num":"0","word_num":"0","height":"0.014354066985645897","level":"0","text":"693b8c5f - JY-19995: Delete unused s3 directories","block_num":"0","top":"0.6267942583732058","line_num":"0","left":"0.1235465222431779","width":"0.11337208240590198","page_num":"0"},{"par_num":"0","level":"0","height":"0.0071770334928229484","line_num":"0","page_num":"0","width":"0.0755813831978656","word_num":"0","left":"0.12354651608852178","text":"besbelsb -Jr-ly77o. Upaate logs","top":"0.6515151515151515","block_num":"0","conf":"0.30000001192092896"},{"height":"0.01756052993701407","left":"0.12354651610297782","conf":"0.5","line_num":"0","width":"0.07703487923804747","page_num":"0","top":"0.6618819779903314","level":"0","par_num":"0","text":"8d5a041b - JY-19995: Fix cs/tests","word_num":"0","block_num":"0"},{"word_num":"0","block_num":"0","width":"0.18168603613021525","top":"0.6794258373205742","level":"0","page_num":"0","left":"0.12354652200931962","par_num":"0","conf":"1","height":"0.01754385964912286","line_num":"0","text":"e6bd5b18 - Merge branch 'master' into JY-19995-delete-leftover-tracks-command"},{"height":"0.006968640444571572","top":"0.7038327529484459","width":"0.026162789223041938","text":"show more","level":"0","par_num":"0","word_num":"0","left":"0.12209302265549815","page_num":"0","conf":"0.5","block_num":"0","line_num":"0"},{"par_num":"0","level":"0","left":"0.12209302197282229","line_num":"0","block_num":"0","page_num":"0","text":"aiminny/app Added by GitHut","width":"0.06104651410528955","top":"0.7208931418013569","height":"0.00732985485873916","conf":"0.30000001192092896","word_num":"0"},{"block_num":"0","line_num":"0","text":"CircleCI APP 3:37 PM","top":"0.742160278657975","page_num":"0","word_num":"0","width":"0.04796511568921677","left":"0.11773255955145004","level":"0","height":"0.017807823619203744","par_num":"0","conf":"0.5"},{"left":"0.11191860326190943","block_num":"0","conf":"0.5","level":"0","top":"0.7630662022542091","word_num":"0","text":"•Deployment Successful!","line_num":"0","page_num":"0","par_num":"0","height":"0.017635552316571323","width":"0.0683139537243133"},{"height":"0.013937282410154683","top":"0.7909407663442839","width":"0.02906976608519858","level":"0","page_num":"0","par_num":"0","text":"Project: app","word_num":"0","block_num":"0","conf":"1","left":"0.11627907107222503","line_num":"0"},{"par_num":"0","page_num":"0","word_num":"0","height":"0.0071770334928229484","width":"0.0668604576841314","line_num":"0","conf":"0.5","text":"When: 04/27 202612-37-16","block_num":"0","left":"0.19912790772277728","level":"0","top":"0.7942583732057417"},{"page_num":"0","line_num":"0","left":"0.11627906980536487","block_num":"0","text":"Thg!","height":"0.006968641205077342","top":"0.811846689800647","level":"0","par_num":"0","width":"0.010174418383456285","conf":"0.30000001192092896","word_num":"0"},{"top":"0.8745644597240749","width":"0.021802323929806966","text":"View Job","word_num":"0","block_num":"0","page_num":"0","conf":"1","par_num":"0","left":"0.11918604806670441","line_num":"0","height":"0.013937282410154683","level":"0"},{"par_num":"0","page_num":"0","top":"0.9233449480872843","level":"0","word_num":"0","height":"0.010466853967693979","text":"Message #releases","width":"0.043604647859613946","line_num":"0","conf":"1","left":"0.10610465446430199","block_num":"0"},{"text":"+ Aa","level":"0","conf":"0.30000001192092896","width":"0.018895348335834256","page_num":"0","left":"0.10755814010049372","block_num":"0","word_num":"0","height":"0.017680009966641874","line_num":"0","par_num":"0","top":"0.9512195119378624"},{"block_num":"0","text":"","word_num":"0","page_num":"0","left":"0.47674418604651164","level":"0","conf":"0.30000001192092896","par_num":"0","top":"0.02787456492450635","height":"0.017421602206736386","width":"0.008720929941860467","line_num":"0"},{"text":"A 10%4 8 Mon27 Apr 18:54:34","width":"0.11295074097653657","line_num":"0","level":"0","top":"0.00000000033500369145400555","par_num":"0","word_num":"0","block_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.8841422844928678","height":"0.020905922094220375"},{"level":"0","top":"0.027874564982578343","par_num":"0","width":"0.008720930014534889","block_num":"0","text":"*","word_num":"0","line_num":"0","page_num":"0","height":"0.02090592282229975","conf":"0.5","left":"0.8895348839026164"},{"left":"0.4215116285065679","level":"0","line_num":"0","block_num":"0","height":"0.021014286570571916","conf":"0.30000001192092896","par_num":"0","page_num":"0","top":"0.06271777048382365","text":"8 22","width":"0.014534883042599311","word_num":"0"},{"height":"0.017421602252187585","par_num":"0","top":"0.06271777012826163","text":"Al reports promotion pages #11998","page_num":"0","block_num":"0","word_num":"0","level":"0","width":"0.08284883296236079","line_num":"0","conf":"1","left":"0.5029069814629333"},{"text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","left":"0.5029069820341029","block_num":"0","line_num":"0","par_num":"0","conf":"1","word_num":"0","top":"0.08362369354010668","width":"0.21947674041098741","height":"0.010475189872145352","level":"0","page_num":"0"},{"level":"0","line_num":"0","left":"0.515988370209941","height":"0.007327075970420038","text":"ranoramakeportsrrono leatures gria nou","par_num":"0","block_num":"0","conf":"0.30000001192092896","word_num":"0","width":"0.08720929571922797","page_num":"0","top":"0.10765550223535247"},{"block_num":"0","conf":"0.30000001192092896","height":"0.010516868633896892","page_num":"0","par_num":"0","top":"0.10446570957187562","width":"0.12936045261139562","word_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","left":"0.6206395320015682","level":"0","line_num":"0"},{"word_num":"0","text":"responsive","par_num":"0","left":"0.5145348846088632","line_num":"0","conf":"1","width":"0.02470930079196354","level":"0","top":"0.11846689863232107","page_num":"0","height":"0.013937282410154683","block_num":"0"},{"page_num":"0","top":"0.11483253561555695","conf":"1","width":"0.04069767099745736","word_num":"0","line_num":"0","left":"0.6206395381627619","text":"added at line 170","block_num":"0","height":"0.017571645490290444","level":"0","par_num":"0"},{"top":"0.14274322169059017","word_num":"0","left":"0.6206395418231858","width":"0.1308139435788419","level":"0","block_num":"0","page_num":"0","par_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","conf":"1","height":"0.01754385964912275","line_num":"0"},{"height":"0.017621659395987477","page_num":"0","text":"Wording inconsistency (modal vs inline)","level":"0","word_num":"0","block_num":"0","left":"0.5145348893682301","par_num":"0","conf":"1","top":"0.15311004759362778","line_num":"0","width":"0.08720929571922786"},{"width":"0.027616277654120225","text":"as possible.","left":"0.6206395362891324","conf":"0.30000001192092896","level":"0","par_num":"0","block_num":"0","line_num":"0","page_num":"0","top":"0.16724738673389183","word_num":"0","height":"0.006968641205077342"},{"conf":"0.30000001192092896","line_num":"0","block_num":"0","word_num":"0","height":"0.006968640444571461","par_num":"0","level":"0","left":"0.514534888937681","top":"0.1951219515547178","text":"nrer compured calling can a second","width":"0.08866277654120269","page_num":"0"},{"width":"0.11482557337334798","page_num":"0","par_num":"0","word_num":"0","left":"0.620639539097222","conf":"1","height":"0.0175883172991933","block_num":"0","level":"0","text":"Fixed - canManageAiReports extracted as a shared","line_num":"0","top":"0.18815330979979739"},{"conf":"1","block_num":"0","level":"0","word_num":"0","page_num":"0","top":"0.20557491298540453","width":"0.023255812360885253","line_num":"0","height":"0.017421602252187474","par_num":"0","text":"computed","left":"0.6220930244397125"},{"page_num":"0","word_num":"0","conf":"1","left":"0.5145348842644298","par_num":"0","top":"0.20557491302895847","text":"time","height":"0.017421602252187585","block_num":"0","width":"0.011627906180442626","level":"0","line_num":"0"},{"line_num":"0","conf":"1","top":"0.23344947777831704","word_num":"0","left":"0.5159883762736059","par_num":"0","level":"0","height":"0.017746694160230114","width":"0.08284883296236079","page_num":"0","text":"trackInterest endpoint missing rate","block_num":"0"},{"width":"0.015988370205493596","word_num":"0","line_num":"0","page_num":"0","top":"0.25435540103206966","left":"0.5145348854641136","text":"limitina","conf":"1","height":"0.006968640444571461","block_num":"0","level":"0","par_num":"0"},{"left":"0.6206395358560387","text":"Still present (see below)","conf":"1","line_num":"0","par_num":"0","block_num":"0","height":"0.017807823619203744","level":"0","top":"0.24003189772282119","page_num":"0","width":"0.05523255530824056","word_num":"0"},{"text":"Remaining issues","width":"0.049418601583927246","level":"0","top":"0.31339712947633447","height":"0.017613322731030334","left":"0.49854651467944094","par_num":"0","word_num":"0","line_num":"0","conf":"1","block_num":"0","page_num":"0"},{"top":"0.34843205595226867","width":"0.10319766592472168","height":"0.017596652443139016","block_num":"0","line_num":"0","level":"0","par_num":"0","conf":"0.5","text":". Extra DB query still fires on every page load","word_num":"0","left":"0.500000004738088","page_num":"0"},{"text":"app/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297","word_num":"0","line_num":"0","conf":"1","left":"0.4999999984771364","block_num":"0","top":"0.3763066205923885","width":"0.24709301806510764","level":"0","page_num":"0","par_num":"0","height":"0.017632773428252313"},{"line_num":"0","word_num":"0","left":"0.502907000810188","conf":"1","level":"0","page_num":"0","block_num":"0","par_num":"0","top":"0.4178628388386477","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).","height":"0.010708589112739642","width":"0.2194767201200445"},{"conf":"0.5","height":"0.017741137904603743","left":"0.5000000072941873","line_num":"0","par_num":"0","block_num":"0","level":"0","width":"0.24127905419532292","word_num":"0","page_num":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","top":"0.45993031375224214"},{"left":"0.49999999992732563","top":"0.4773519162821602","height":"0.013937282410154683","width":"0.25000000000000006","par_num":"0","level":"0","word_num":"0","line_num":"0","page_num":"0","conf":"1","block_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7"},{"par_num":"0","height":"0.020967051553193783","left":"0.5014534918272605","block_num":"0","conf":"1","line_num":"0","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","top":"0.4912280702286602","width":"0.24854649888708236","page_num":"0","word_num":"0","level":"0"},{"top":"0.5119617223575448","block_num":"0","width":"0.22819764563377865","height":"0.010686361048210191","page_num":"0","line_num":"0","par_num":"0","text":"ISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as the","word_num":"0","left":"0.5000000058253165","level":"0","conf":"0.5"},{"word_num":"0","block_num":"0","page_num":"0","par_num":"0","text":"uaaested mitiaations (in order of effort):","conf":"0.5","line_num":"0","top":"0.5606060607314207","level":"0","width":"0.08720930586469933","left":"0.5014534853695082","height":"0.0073381900026847635"},{"conf":"0.5","top":"0.5853269537480064","block_num":"0","page_num":"0","level":"0","width":"0.17587209255137348","word_num":"0","left":"0.5014534869745092","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","line_num":"0","height":"0.01754385964912286","par_num":"0"},{"height":"0.01762721565161396","level":"0","left":"0.5058139713227934","par_num":"0","word_num":"0","block_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","width":"0.23982555308240527","top":"0.6027874571526035","conf":"0.5","page_num":"0","line_num":"0"},{"par_num":"0","line_num":"0","width":"0.12354649888708236","conf":"0.5","block_num":"0","height":"0.007352082923268499","level":"0","word_num":"0","top":"0.6267942582824599","text":"transtorm() Is called multiple times in a single response","page_num":"0","left":"0.5072674434499944"},{"word_num":"0","height":"0.017421602252187474","block_num":"0","level":"0","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users, set/cleared by the report generation/","left":"0.5000000099048465","width":"0.2558139435788418","par_num":"0","page_num":"0","conf":"1","line_num":"0","top":"0.6376306621143244"},{"line_num":"0","par_num":"0","word_num":"0","page_num":"0","conf":"1","text":"deletion pipeline — eliminates the querv entirelv.","width":"0.10465116703763921","left":"0.5058139514101975","top":"0.6618819776714514","block_num":"0","height":"0.0071770334928229484","level":"0"},{"word_num":"0","line_num":"0","top":"0.6864111496195452","text":"Fix this →","height":"0.013937282410154683","left":"0.5000000014415185","page_num":"0","level":"0","par_num":"0","block_num":"0","conf":"0.5","width":"0.021802323929806966"},{"text":".trackInterest endpoint has no rate limit or idempotency guard","line_num":"0","height":"0.017807823619203744","page_num":"0","level":"0","par_num":"0","top":"0.742160278657975","width":"0.15261627765412034","word_num":"0","block_num":"0","left":"0.5014534903874139","conf":"1"},{"level":"0","block_num":"0","conf":"1","par_num":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","page_num":"0","line_num":"0","width":"0.22823879566598448","height":"0.01525778519479859","top":"0.7722896034177436","left":"0.49997788082196515","word_num":"0"},{"line_num":"0","width":"0.02470930332833149","height":"0.006968641205077342","page_num":"0","block_num":"0","left":"0.4999999995712994","par_num":"0","level":"0","word_num":"0","conf":"0.5","text":"pi.php:282","top":"0.7944250870834626"},{"width":"0.14534883296236079","word_num":"0","left":"0.5029069762911409","par_num":"0","line_num":"0","height":"0.021122651046923346","level":"0","block_num":"0","page_num":"0","text":"public function trackInterest(Request srequest): JsonResponse","top":"0.8325358853529533","conf":"0.5"},{"par_num":"0","word_num":"0","page_num":"0","block_num":"0","width":"0.23255810839064572","line_num":"0","top":"0.8604465709728868","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","conf":"0.5","left":"0.5116279148651706","level":"0","height":"0.0071770334928229484"},{"page_num":"0","conf":"1","line_num":"0","par_num":"0","level":"0","height":"0.010647460414272003","block_num":"0","width":"0.25290696164394944","word_num":"0","left":"0.500000019045948","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","top":"0.9266347687970263"},{"level":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","height":"0.017766144857452204","line_num":"0","word_num":"0","page_num":"0","block_num":"0","width":"0.2441860564211581","top":"0.9407665505780702","left":"0.49999999512449644","conf":"1","par_num":"0"},{"left":"0.5000000013824143","text":"racking noise in analytics.","top":"0.958188153403523","width":"0.05668604627568663","word_num":"0","level":"0","block_num":"0","par_num":"0","conf":"1","line_num":"0","height":"0.017421602252187474","page_num":"0"}]...
|
Slack
|
AppleNative
|
releases (Channel) - Jiminny Inc - 3 new items - S releases (Channel) - Jiminny Inc - 3 new items - Slack...
|
1
|
3936
|
NULL
|
NULL
|
|
89202
|
iTerm2ShellEdit ViewSessionScripts|ProfilesWindowH iTerm2ShellEdit ViewSessionScripts|ProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84<66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++-zsh885100% <7Mon 27 Apr 18:54:35181ec2-user@ip-10-30-95-134:...• *6APP++++++++....
|
[{"width":"0.03488371902041965", [{"width":"0.03488371902041965","height":"0.013953487608167836","left":"0.03488372130374368","par_num":"0","level":"0","line_num":"0","text":"iTerm2","page_num":"0","top":"0.006976744645528443","word_num":"0","conf":"1","block_num":"0"},{"conf":"0.5","line_num":"0","width":"0.031976742214626735","page_num":"0","left":"0.08284883872795794","par_num":"0","top":"0.006976744412970359","word_num":"0","level":"0","block_num":"0","text":"Shell","height":"0.013953487608167836"},{"height":"0.016666666666666607","par_num":"0","line_num":"0","text":"Edit View","block_num":"0","top":"0.004444444444444473","width":"0.053779066933525924","word_num":"0","left":"0.11627907109228551","page_num":"0","level":"0","conf":"0.5"},{"height":"0.013953487608167836","par_num":"0","text":"Session","top":"0.0069767444517300214","line_num":"0","left":"0.18168604790258086","conf":"1","page_num":"0","word_num":"0","block_num":"0","level":"0","width":"0.034883719020419646"},{"conf":"0.5","text":"Scripts|","width":"0.031997723049587645","block_num":"0","top":"0.006914945827753649","word_num":"0","par_num":"0","left":"0.2296406737588108","page_num":"0","height":"0.014077084859212219","level":"0","line_num":"0"},{"page_num":"0","left":"0.27323585639556563","width":"0.033470148510403086","conf":"1","height":"0.014200344085693373","block_num":"0","word_num":"0","level":"0","top":"0.006853316216056116","par_num":"0","text":"Profiles","line_num":"0"},{"width":"0.03633720874786378","conf":"1","block_num":"0","par_num":"0","level":"0","height":"0.013953487608167836","word_num":"0","line_num":"0","page_num":"0","left":"0.31831395315998284","text":"Window","top":"0.006976744645528443"},{"word_num":"0","text":"Help","page_num":"0","block_num":"0","par_num":"0","top":"0.006976744474985863","level":"0","line_num":"0","height":"0.013953487608167836","left":"0.36773255878967304","width":"0.02034883631600276","conf":"1"},{"top":"0.03666666662527551","width":"0.049418603049384224","word_num":"0","text":"APP (-zsh)","block_num":"0","left":"0.47529069803997187","height":"0.014496124055650483","par_num":"0","line_num":"0","conf":"1","level":"0","page_num":"0"},{"level":"0","text":"DOCKER","par_num":"0","page_num":"0","line_num":"0","width":"0.03488371902041965","word_num":"0","height":"0.013953487608167947","left":"0.050872094365759145","block_num":"0","conf":"1","top":"0.06511627921917185"},{"text":"881","word_num":"0","level":"0","block_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.14680232582288885","height":"0.011627906163533597","top":"0.06744186101707039","line_num":"0","par_num":"0","width":"0.010174418158001353"},{"block_num":"0","line_num":"0","page_num":"0","height":"0.011627906163533597","par_num":"0","width":"0.05087209277682833","top":"0.0674418609589309","conf":"1","level":"0","word_num":"0","text":"DEV (docker)","left":"0.2107558135640147"},{"top":"0.06744186045818157","level":"0","word_num":"0","width":"0.014534884028964579","par_num":"0","block_num":"0","text":"₴82","height":"0.011627907223171752","conf":"0.30000001192092896","line_num":"0","page_num":"0","left":"0.30813953472970373"},{"top":"0.0674418609589309","word_num":"0","page_num":"0","text":"APP (-zsh)","conf":"0.5","level":"0","line_num":"0","height":"0.011627906163533597","width":"0.040697672632005466","block_num":"0","left":"0.3793604658741403","par_num":"0"},{"left":"0.47238372128431727","height":"0.013953487608167947","word_num":"0","block_num":"0","top":"0.06511627921917185","level":"0","page_num":"0","conf":"0.30000001192092896","text":"83","line_num":"0","par_num":"0","width":"0.013081394301520444"},{"height":"0.014420836766560807","text":"screenpipe\"","page_num":"0","conf":"1","level":"0","par_num":"0","block_num":"0","line_num":"0","top":"0.0648826047097042","width":"0.048017358779907204","left":"0.5348576004786272","word_num":"0"},{"level":"0","width":"0.2790697521633572","block_num":"0","left":"0.008720942522972407","line_num":"0","height":"0.016279069052802186","page_num":"0","conf":"1","text":"front-end/src/components/AiReports/Manage/__tests_","top":"0.09069767473716484","par_num":"0","word_num":"0"},{"par_num":"0","top":"0.0906976745315402","level":"0","block_num":"0","word_num":"0","line_num":"0","page_num":"0","conf":"1","width":"0.14098837110731333","text":"_/ManageAiReports.spec.js","height":"0.01860465155707458","left":"0.2863372117089401"},{"level":"0","width":"0.44622090657552077","left":"0.00872094763883828","page_num":"0","line_num":"0","top":"0.1093023258515059","conf":"1","block_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","word_num":"0","height":"0.016279069052802186","par_num":"0"},{"top":"0.13023255838057568","level":"0","height":"0.016279069052802186","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","page_num":"0","par_num":"0","block_num":"0","word_num":"0","conf":"1","left":"0.008720945815069964","line_num":"0","width":"0.5232557932535807"},{"word_num":"0","par_num":"0","conf":"1","page_num":"0","line_num":"0","height":"0.018604651557074692","level":"0","block_num":"0","left":"0.00872092909910249","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","width":"0.6002906799316406","top":"0.1488372093377417"},{"left":"0.008720941327598099","height":"0.018604651557074692","width":"0.26308138105604384","par_num":"0","level":"0","conf":"1","top":"0.16976744197340066","line_num":"0","page_num":"0","text":"front-end/src/components/AiReports/constants.js","word_num":"0","block_num":"0"},{"block_num":"0","conf":"1","left":"0.008720944627202777","height":"0.01860465155707458","par_num":"0","width":"0.4127906799316406","word_num":"0","page_num":"0","level":"0","top":"0.18837209251603637","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","line_num":"0"},{"block_num":"0","height":"0.01860465155707458","level":"0","conf":"1","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","top":"0.20930232526797432","word_num":"0","left":"0.008720936305477206","page_num":"0","width":"0.4069767422146267","line_num":"0"},{"height":"0.016279069052802186","line_num":"0","block_num":"0","par_num":"0","conf":"1","top":"0.2302325584096454","page_num":"0","left":"0.00872093223776006","text":"front-end/src/components/Settings/shared/FormElements/Field.less","level":"0","word_num":"0","width":"0.35755814446343315"},{"top":"0.2488372089889045","word_num":"0","page_num":"0","conf":"1","block_num":"0","level":"0","line_num":"0","height":"0.018604651557074692","left":"0.008720934875787774","width":"0.35174418555365666","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","par_num":"0"},{"text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","top":"0.26976744154704413","word_num":"0","height":"0.01860465155707458","width":"0.4854651133219401","block_num":"0","par_num":"0","page_num":"0","conf":"1","line_num":"0","level":"0","left":"0.008720937779436768"},{"height":"0.016279069052802075","line_num":"0","top":"0.29069767465964547","block_num":"0","width":"0.3793604532877604","page_num":"0","left":"0.008720939940422036","word_num":"0","conf":"1","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","par_num":"0","level":"0"},{"left":"0.008720948847176679","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","width":"0.3851743910047743","line_num":"0","conf":"1","height":"0.01860465155707458","level":"0","top":"0.3093023252679743","word_num":"0","block_num":"0","page_num":"0"},{"par_num":"0","block_num":"0","line_num":"0","page_num":"0","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/","word_num":"0","height":"0.011627906163533597","top":"0.3325581400286983","level":"0","left":"0.01017442358565618","width":"0.27180230882432727"},{"left":"0.2805232549080388","block_num":"0","conf":"0.5","height":"0.013953487608167836","text":"__mocks__/nudges.js","width":"0.1061046494377984","word_num":"0","par_num":"0","line_num":"0","page_num":"0","level":"0","top":"0.3325581400718851"},{"text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","top":"0.3488372088726255","word_num":"0","page_num":"0","height":"0.01860465155707458","width":"0.4622092776828342","line_num":"0","conf":"1","level":"0","block_num":"0","left":"0.008720944988524652","par_num":"0"},{"conf":"1","left":"0.008720943423469624","word_num":"0","height":"0.01860465155707458","level":"0","par_num":"0","page_num":"0","block_num":"0","width":"0.3183139377170139","top":"0.3697674416633232","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","line_num":"0"},{"left":"0.008720939432180469","page_num":"0","height":"0.020930230882432732","conf":"1","line_num":"0","width":"0.31540696885850694","text":"front-end/src/components/shared/SavedSearchModal/__tests_","level":"0","block_num":"0","par_num":"0","word_num":"0","top":"0.3883720938223495"},{"left":"0.32994186531367026","par_num":"0","height":"0.018604651557074692","text":"/__snapshots__/saved-search-modal-edit.output.html","word_num":"0","width":"0.2790697521633572","block_num":"0","conf":"1","level":"0","line_num":"0","page_num":"0","top":"0.36976744175634635"},{"block_num":"0","top":"0.3883720925160363","conf":"1","text":"/__snapshots__/saved-search-modal.output.html","par_num":"0","width":"0.25145348442925347","page_num":"0","word_num":"0","height":"0.01860465155707458","left":"0.329941858342544","level":"0","line_num":"0"},{"page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","line_num":"0","block_num":"0","left":"0.008720939459133782","top":"0.4093023252679743","level":"0","par_num":"0","width":"0.32412789662679037","conf":"1","height":"0.018604651557074692","word_num":"0"},{"par_num":"0","height":"0.016279069052802075","level":"0","line_num":"0","left":"0.008720945245547382","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","top":"0.4302325583805757","page_num":"0","word_num":"0","width":"0.36773253546820744","block_num":"0"},{"level":"0","conf":"1","par_num":"0","word_num":"0","page_num":"0","height":"0.01860465155707458","line_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","left":"0.008720939802207934","top":"0.4488372090276642","width":"0.4854651133219401","block_num":"0"},{"level":"0","line_num":"0","page_num":"0","top":"0.4697674423340641","height":"0.016279069052802075","width":"0.49709298875596786","left":"0.007267450825504717","conf":"1","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","word_num":"0","block_num":"0","par_num":"0"},{"line_num":"0","conf":"1","word_num":"0","page_num":"0","height":"0.016279069052802186","left":"0.008720936961676194","par_num":"0","block_num":"0","level":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","width":"0.245639525519477","top":"0.49069767467902525"},{"top":"0.509302325306734","left":"0.008720940809666643","page_num":"0","par_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","word_num":"0","conf":"1","height":"0.01860465155707458","width":"0.3241278966267904","block_num":"0","level":"0","line_num":"0"},{"par_num":"0","width":"0.4127906799316406","left":"0.008720944263830709","block_num":"0","line_num":"0","page_num":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","top":"0.5302325584096454","word_num":"0","conf":"1","height":"0.016279069052802186","level":"0"},{"level":"0","word_num":"0","width":"0.3808139377170139","top":"0.548837209182703","height":"0.018604651557074692","left":"0.007267443399245208","line_num":"0","conf":"1","block_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","par_num":"0","page_num":"0"},{"conf":"1","block_num":"0","page_num":"0","line_num":"0","level":"0","height":"0.018604651557074692","par_num":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","top":"0.5697674415470441","left":"0.00872094066747218","word_num":"0","width":"0.26308138105604384"},{"left":"0.008720935081112163","level":"0","height":"0.016279069052802297","line_num":"0","block_num":"0","conf":"1","page_num":"0","top":"0.5906976748922036","word_num":"0","width":"0.2790697521633572","par_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php"},{"top":"0.6093023252912301","line_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","level":"0","conf":"1","height":"0.018604651557074692","block_num":"0","page_num":"0","width":"0.40697674221462665","left":"0.008720935288035392","par_num":"0","word_num":"0"},{"par_num":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","block_num":"0","line_num":"0","word_num":"0","level":"0","conf":"1","left":"0.008720932494423177","top":"0.630232558174951","width":"0.3735465155707466","height":"0.018604651557074692","page_num":"0"},{"left":"0.008720925345802873","conf":"1","height":"0.018604651557074692","line_num":"0","page_num":"0","par_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","width":"0.3575581444634332","level":"0","top":"0.6488372087951062","word_num":"0","block_num":"0"},{"word_num":"0","top":"0.6674418601201179","conf":"1","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","height":"0.023669251335991737","left":"0.008720930055878897","par_num":"0","page_num":"0","block_num":"0","level":"0","line_num":"0","width":"0.30668604109022357"},{"height":"0.053333333333333344","conf":"0.30000001192092896","par_num":"0","width":"0.06666666666666671","word_num":"0","level":"0","line_num":"0","top":"0.64","text":"rtarest. php","page_num":"0","left":"0.29999999930555554","block_num":"0"},{"par_num":"0","block_num":"0","level":"0","page_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","word_num":"0","height":"0.016279069052802186","width":"0.45784882439507385","line_num":"0","conf":"1","top":"0.6906976746596454","left":"0.008720943324406762"},{"width":"0.43459303114149306","page_num":"0","par_num":"0","line_num":"0","word_num":"0","level":"0","top":"0.7088888885350363","conf":"1","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","block_num":"0","left":"0.008720919944754178","height":"0.019018088446723147"},{"height":"0.046666666666666634","top":"0.6866666667777778","block_num":"0","line_num":"0","par_num":"0","word_num":"0","left":"0.3208333309027779","conf":"0.30000001192092896","level":"0","page_num":"0","text":"fonitrn/esComedad.ron,.php","width":"0.14583333333333337"},{"text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","left":"0.008720931874829398","level":"0","top":"0.73","block_num":"0","par_num":"0","word_num":"0","page_num":"0","line_num":"0","width":"0.4186046600341797","height":"0.01666666666666672","conf":"1"},{"width":"0.5188953399658203","top":"0.7488372099361025","word_num":"0","page_num":"0","left":"0.008720944031500208","par_num":"0","height":"0.0189405674404568","block_num":"0","conf":"1","level":"0","line_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php"},{"top":"0.769767441714528","word_num":"0","width":"0.556686019897461","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","height":"0.01912144766913515","line_num":"0","conf":"1","block_num":"0","left":"0.00872094292957427","level":"0","page_num":"0"},{"block_num":"0","par_num":"0","conf":"1","width":"0.5232557932535807","level":"0","left":"0.008720950932465657","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","top":"0.7883720927330905","word_num":"0","page_num":"0","line_num":"0","height":"0.018604651557074692"},{"page_num":"0","top":"0.8088888884187573","par_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","height":"0.019018088446723147","width":"0.5130814022488065","level":"0","left":"0.008720932168461499","conf":"1","word_num":"0","block_num":"0","line_num":"0"},{"height":"0.018888888888888955","block_num":"0","left":"0.00872093066119501","level":"0","line_num":"0","conf":"1","width":"0.5901162889268663","par_num":"0","top":"0.83","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","page_num":"0","word_num":"0"},{"text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","width":"0.5901162889268663","word_num":"0","level":"0","height":"0.0189405674404568","top":"0.8488372098663348","line_num":"0","conf":"1","block_num":"0","par_num":"0","page_num":"0","left":"0.00872093066119501"},{"line_num":"0","top":"0.8697674421015059","level":"0","par_num":"0","page_num":"0","word_num":"0","conf":"1","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","width":"0.6017441643608942","block_num":"0","left":"0.00872095191817562","height":"0.016279069052802186"},{"line_num":"0","level":"0","par_num":"0","conf":"1","height":"0.016279069052802186","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","block_num":"0","top":"0.8906976746596453","word_num":"0","width":"0.5188953399658204","page_num":"0","left":"0.008720941480167237"},{"left":"0.008720965718114076","top":"0.9088888883993775","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","conf":"1","block_num":"0","height":"0.019018088446723036","line_num":"0","page_num":"0","level":"0","par_num":"0","word_num":"0","width":"0.5130813598632812"},{"height":"0.016666666666666607","conf":"1","word_num":"0","par_num":"0","page_num":"0","top":"0.93","left":"0.008720959803854693","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","level":"0","width":"0.4796511332194011","line_num":"0","block_num":"0"},{"text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","width":"0.4636627621120876","page_num":"0","conf":"1","block_num":"0","height":"0.0189405674404568","level":"0","par_num":"0","top":"0.9488372099361024","left":"0.008720958818144888","line_num":"0","word_num":"0"},{"conf":"1","height":"0.02144702911376961","level":"0","par_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","top":"0.9674418601201177","page_num":"0","word_num":"0","block_num":"0","left":"0.004360485232488721","line_num":"0","width":"0.5348837110731336"},{"level":"0","word_num":"0","par_num":"0","page_num":"0","left":"0.6250000001737047","width":"0.024709301524692084","line_num":"0","height":"0.013953487608167836","conf":"0.30000001192092896","text":"O 84","top":"0.06511627927731145","block_num":"0"},{"word_num":"0","conf":"0.30000001192092896","block_num":"0","left":"0.6845930235949612","line_num":"0","height":"0.018604650542635714","page_num":"0","level":"0","par_num":"0","text":"<","width":"0.010174418265503915","top":"0.00465116294573642"},{"par_num":"0","word_num":"0","text":"66","conf":"1","level":"0","left":"0.651162790963683","block_num":"0","top":"0.09069767487808655","width":"0.01453488270441694","line_num":"0","page_num":"0","height":"0.013953487608167947"},{"left":"0.668604651975057","text":"++++","par_num":"0","top":"0.09302325610427975","height":"0.011627906163533486","block_num":"0","line_num":"0","level":"0","width":"0.024709301524692084","conf":"1","word_num":"0","page_num":"0"},{"height":"0.01669250594245064","text":"23 +-","conf":"1","line_num":"0","top":"0.1088888889538393","page_num":"0","left":"0.6511627914915763","block_num":"0","level":"0","par_num":"0","width":"0.03052325513627796","word_num":"0"},{"width":"0.014534884028964634","conf":"1","page_num":"0","word_num":"0","par_num":"0","block_num":"0","height":"0.016279069052802186","top":"0.1302325583999555","level":"0","left":"0.6511627906647812","line_num":"0","text":"20"},{"text":"+-","line_num":"0","page_num":"0","top":"0.13255813982521003","block_num":"0","level":"0","left":"0.6686046519044723","par_num":"0","word_num":"0","conf":"0.5","height":"0.011627906163533486","width":"0.013081394301520444"},{"width":"0.007267441618217019","line_num":"0","par_num":"0","word_num":"0","height":"0.013953487906976814","page_num":"0","level":"0","block_num":"0","left":"0.658430232751938","text":"4","conf":"1","top":"0.15116279116279063"},{"conf":"0.30000001192092896","width":"0.01162790722317164","line_num":"0","left":"0.6686046510880266","level":"0","height":"0.011627906163533486","word_num":"0","par_num":"0","text":"+-","block_num":"0","top":"0.15348837269342708","page_num":"0"},{"conf":"0.30000001192092896","text":"7 +","top":"0.16976744216490824","width":"0.01889534791310632","page_num":"0","word_num":"0","height":"0.013953487608167947","line_num":"0","left":"0.6584302333351134","par_num":"0","block_num":"0","level":"0"},{"height":"0.013953487608167836","par_num":"0","text":"1 +","word_num":"0","page_num":"0","level":"0","top":"0.19069767472304788","block_num":"0","left":"0.6584302333351134","conf":"0.5","line_num":"0","width":"0.01889534791310632"},{"height":"0.016279069052802186","page_num":"0","text":"24","width":"0.017441859510209823","conf":"1","top":"0.20930232582243613","line_num":"0","word_num":"0","par_num":"0","left":"0.6511627914658253","block_num":"0","level":"0"},{"par_num":"0","top":"0.21395348820707683","left":"0.6700581396855341","level":"0","line_num":"0","page_num":"0","text":"+-","width":"0.010174418158001464","height":"0.009302325778537401","conf":"0.5","word_num":"0","block_num":"0"},{"block_num":"0","line_num":"0","word_num":"0","level":"0","left":"0.6511627910242451","width":"0.01453488270441694","text":"10","page_num":"0","par_num":"0","height":"0.013953487608167947","top":"0.23023255863777647","conf":"1"},{"text":"5 +","level":"0","line_num":"0","conf":"0.5","height":"0.01671834627787272","top":"0.2488372092900042","word_num":"0","block_num":"0","left":"0.6584302327537183","par_num":"0","page_num":"0","width":"0.01889534791310632"},{"text":"170","height":"0.013953487608167836","block_num":"0","width":"0.01889534791310621","left":"0.646802325807255","word_num":"0","conf":"1","page_num":"0","level":"0","line_num":"0","par_num":"0","top":"0.26976744235870675"},{"par_num":"0","top":"0.2906976748780866","level":"0","width":"0.01453488270441694","height":"0.013953487608167836","word_num":"0","text":"18","conf":"1","line_num":"0","block_num":"0","page_num":"0","left":"0.651162790963683"},{"line_num":"0","width":"0.01453488270441694","top":"0.3093023256168115","page_num":"0","par_num":"0","word_num":"0","text":"16","block_num":"0","level":"0","height":"0.01860465155707458","conf":"1","left":"0.651162791205931"},{"par_num":"0","page_num":"0","width":"0.013081394301520444","line_num":"0","conf":"0.30000001192092896","height":"0.011627906163533486","block_num":"0","level":"0","top":"0.31395348897249686","left":"0.6686046517106738","text":"+-","word_num":"0"},{"page_num":"0","width":"0.017441859510209934","height":"0.01860465155707458","top":"0.3488372088726255","word_num":"0","par_num":"0","left":"0.6482558143219299","level":"0","conf":"1","block_num":"0","line_num":"0","text":"62"},{"conf":"1","text":"942","level":"0","top":"0.36976744235870673","par_num":"0","word_num":"0","left":"0.646802325807255","page_num":"0","width":"0.01889534791310621","line_num":"0","height":"0.013953487608167836","block_num":"0"},{"par_num":"0","top":"0.39069767491684626","width":"0.01889534791310621","page_num":"0","level":"0","conf":"1","word_num":"0","height":"0.013953487608167947","left":"0.646802325807255","block_num":"0","line_num":"0","text":"942"},{"left":"0.6511627910605823","line_num":"0","top":"0.4093023256673973","width":"0.01453488270441694","conf":"1","height":"0.016279069052802186","page_num":"0","word_num":"0","level":"0","par_num":"0","text":"21","block_num":"0"},{"top":"0.43023255805747485","level":"0","conf":"1","line_num":"0","par_num":"0","text":"33","page_num":"0","width":"0.014534884028964523","block_num":"0","height":"0.016279070112440452","word_num":"0","left":"0.6511627906082568"},{"line_num":"0","width":"0.017441859510209823","top":"0.3534883723833495","text":"+++","word_num":"0","page_num":"0","conf":"1","par_num":"0","height":"0.011627906163533486","block_num":"0","level":"0","left":"0.6700581403030346"},{"par_num":"0","line_num":"0","word_num":"0","conf":"0.5","level":"0","left":"0.7194767443728021","height":"0.011627906163533597","block_num":"0","text":"-zsh","top":"0.06744186098800065","page_num":"0","width":"0.017441859510209823"},{"par_num":"0","level":"0","width":"0.01453488270441694","line_num":"0","conf":"0.30000001192092896","left":"0.7994186049777334","word_num":"0","page_num":"0","block_num":"0","text":"885","height":"0.011627906163533597","top":"0.0674418609589309"},{"text":"100% <7","line_num":"0","top":"0.0068626474102171375","width":"0.04218044016096334","par_num":"0","height":"0.014181681738959395","word_num":"0","level":"0","page_num":"0","block_num":"0","left":"0.8168458269716159","conf":"0.30000001192092896"},{"left":"0.8909883701829538","par_num":"0","page_num":"0","height":"0.014444444444444371","conf":"1","width":"0.09738372166951492","word_num":"0","block_num":"0","level":"0","top":"0.00666666666666671","text":"Mon 27 Apr 18:54:35","line_num":"0"},{"width":"0.020348836316002705","line_num":"0","word_num":"0","conf":"0.30000001192092896","level":"0","block_num":"0","page_num":"0","height":"0.013953487608167836","left":"0.9723837216312426","par_num":"0","text":"181","top":"0.034883721195916095"},{"left":"0.8372093056452314","level":"0","page_num":"0","width":"0.11046511332194009","top":"0.06744186083296189","word_num":"0","height":"0.011627906163533597","block_num":"0","conf":"1","par_num":"0","text":"ec2-user@ip-10-30-95-134:...","line_num":"0"},{"level":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","par_num":"0","block_num":"0","word_num":"0","top":"0.06511627933545094","left":"0.9534883728481232","width":"0.024709301524692084","height":"0.013953487608167836","text":"• *6"},{"level":"0","left":"0.8517441851046192","par_num":"0","width":"0.1395348866780599","text":"APP","page_num":"0","top":"0.14651162689461428","conf":"0.30000001192092896","block_num":"0","height":"0.08372093200683584","word_num":"0","line_num":"0"},{"line_num":"0","page_num":"0","word_num":"0","width":"0.013081399599711108","top":"0.4511627900808629","conf":"0.30000001192092896","block_num":"0","left":"0.6686046489065398","level":"0","par_num":"0","height":"0.0813953484429254","text":"++++"},{"block_num":"0","top":"0.5325581392707482","width":"0.011627907223171752","left":"0.6700581393147707","line_num":"0","level":"0","text":"++","height":"0.013953488667805991","conf":"1","page_num":"0","par_num":"0","word_num":"0"},{"top":"0.6116279067372514","height":"0.01162790722317164","left":"0.6700581393235938","line_num":"0","text":"++.","width":"0.013081395626068137","word_num":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896","level":"0","par_num":"0"}]...
|
Slack
|
AppleNative
|
releases (Channel) - Jiminny Inc - 3 new items - S releases (Channel) - Jiminny Inc - 3 new items - Slack...
|
1
|
3841
|
NULL
|
NULL
|
|
89203
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:54:37181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"page_num":"0","height": [{"page_num":"0","height":"0.013953487608167836","line_num":"0","block_num":"0","conf":"1","left":"0.033430232229750306","top":"0.006976744645528443","width":"0.03633720874786377","text":"iTerm2","word_num":"0","par_num":"0","level":"0"},{"left":"0.08284883942658913","par_num":"0","page_num":"0","text":"Shell Edit View","level":"0","width":"0.08720929887559678","height":"0.016666666666666607","word_num":"0","line_num":"0","top":"0.004444444444444473","block_num":"0","conf":"0.5"},{"page_num":"0","height":"0.013953487608167836","conf":"1","level":"0","text":"Session","block_num":"0","line_num":"0","par_num":"0","width":"0.034883719020419646","top":"0.0069767444517300214","word_num":"0","left":"0.18168604790258086"},{"word_num":"0","conf":"0.5","line_num":"0","page_num":"0","height":"0.014077084859212219","left":"0.2296406737588108","level":"0","block_num":"0","text":"Scripts","par_num":"0","top":"0.006914945827753649","width":"0.031997723049587645"},{"height":"0.014200344085693373","block_num":"0","level":"0","text":"Profiles","word_num":"0","width":"0.033470148510403086","top":"0.006853316216056116","page_num":"0","conf":"1","left":"0.27323585639556563","par_num":"0","line_num":"0"},{"width":"0.03633720874786378","word_num":"0","line_num":"0","height":"0.013953487608167836","conf":"1","level":"0","left":"0.31831395315998284","page_num":"0","par_num":"0","text":"Window","block_num":"0","top":"0.006976744645528443"},{"block_num":"0","width":"0.02034883631600276","top":"0.006976744474985863","height":"0.013953487608167836","line_num":"0","conf":"1","par_num":"0","word_num":"0","left":"0.36773255878967304","text":"Help","level":"0","page_num":"0"},{"par_num":"0","left":"0.47529069803997187","width":"0.049418603049384224","line_num":"0","conf":"1","word_num":"0","level":"0","page_num":"0","height":"0.014496124055650483","text":"APP (-zsh)","block_num":"0","top":"0.03666666662527551"},{"height":"0.013953487608167947","conf":"1","left":"0.050872094365759145","line_num":"0","text":"DOCKER","level":"0","page_num":"0","block_num":"0","top":"0.06511627921917185","width":"0.03488371902041965","word_num":"0","par_num":"0"},{"conf":"0.30000001192092896","level":"0","page_num":"0","par_num":"0","left":"0.14680232584832487","block_num":"0","text":"881","top":"0.06744186045818157","line_num":"0","height":"0.011627907223171752","width":"0.01017441815800138","word_num":"0"},{"block_num":"0","height":"0.011627906163533597","word_num":"0","par_num":"0","level":"0","text":"DEV (docker)","top":"0.0674418609589309","page_num":"0","width":"0.05087209277682833","left":"0.2107558135640147","line_num":"0","conf":"1"},{"line_num":"0","level":"0","top":"0.06744186045818157","conf":"0.30000001192092896","word_num":"0","block_num":"0","height":"0.011627907223171752","left":"0.30813953472970373","page_num":"0","par_num":"0","text":"₴82","width":"0.014534884028964579"},{"width":"0.040697672632005466","block_num":"0","top":"0.0674418609589309","height":"0.011627906163533597","page_num":"0","par_num":"0","line_num":"0","left":"0.3793604658741403","text":"APP (-zsh)","word_num":"0","level":"0","conf":"0.5"},{"word_num":"0","par_num":"0","line_num":"0","level":"0","block_num":"0","height":"0.013953487608167947","conf":"0.30000001192092896","left":"0.47238372128431727","width":"0.013081394301520444","top":"0.06511627921917185","text":"83","page_num":"0"},{"page_num":"0","block_num":"0","left":"0.5348576004786272","height":"0.014420836766560807","top":"0.0648826047097042","word_num":"0","width":"0.048017358779907204","conf":"0.5","text":"screenpipe\"","line_num":"0","level":"0","par_num":"0"},{"page_num":"0","width":"0.2790697521633572","level":"0","left":"0.008720942522972407","text":"front-end/src/components/AiReports/Manage/__tests_","top":"0.09069767473716484","conf":"1","height":"0.016279069052802186","par_num":"0","line_num":"0","word_num":"0","block_num":"0"},{"line_num":"0","level":"0","par_num":"0","top":"0.0906976745315402","text":"_/ManageAiReports.spec.js","conf":"1","width":"0.14098837110731333","height":"0.01860465155707458","left":"0.2863372117089401","block_num":"0","word_num":"0","page_num":"0"},{"height":"0.016279069052802186","conf":"1","level":"0","par_num":"0","line_num":"0","top":"0.1093023258515059","left":"0.00872094763883828","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","block_num":"0","page_num":"0","width":"0.44622090657552077","word_num":"0"},{"text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","height":"0.016279069052802186","par_num":"0","width":"0.5232557932535807","conf":"1","line_num":"0","top":"0.13023255838057568","word_num":"0","page_num":"0","left":"0.008720945815069964","block_num":"0","level":"0"},{"conf":"1","block_num":"0","level":"0","line_num":"0","page_num":"0","top":"0.1488372093377417","width":"0.6002906799316406","height":"0.018604651557074692","word_num":"0","par_num":"0","left":"0.00872092909910249","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html"},{"left":"0.008720941327598099","page_num":"0","text":"front-end/src/components/AiReports/constants.js","height":"0.018604651557074692","line_num":"0","par_num":"0","top":"0.16976744197340066","word_num":"0","level":"0","width":"0.26308138105604384","conf":"1","block_num":"0"},{"width":"0.4127906799316406","block_num":"0","page_num":"0","height":"0.01860465155707458","level":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","conf":"1","par_num":"0","line_num":"0","top":"0.18837209251603637","left":"0.008720944627202777","word_num":"0"},{"height":"0.01860465155707458","level":"0","line_num":"0","block_num":"0","left":"0.008720936305477206","conf":"1","page_num":"0","top":"0.20930232526797432","width":"0.4069767422146267","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","word_num":"0"},{"height":"0.016279069052802186","word_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","par_num":"0","page_num":"0","conf":"1","level":"0","top":"0.2302325584096454","block_num":"0","width":"0.35755814446343315","line_num":"0","left":"0.00872093223776006"},{"page_num":"0","top":"0.2488372089889045","block_num":"0","conf":"1","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","height":"0.018604651557074692","left":"0.008720934875787774","level":"0","line_num":"0","par_num":"0","width":"0.35174418555365666","word_num":"0"},{"page_num":"0","block_num":"0","top":"0.26976744154704413","level":"0","conf":"1","width":"0.4854651133219401","left":"0.008720937779436768","height":"0.01860465155707458","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","par_num":"0","word_num":"0","line_num":"0"},{"page_num":"0","height":"0.016279069052802075","level":"0","par_num":"0","block_num":"0","word_num":"0","top":"0.29069767465964547","conf":"1","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","line_num":"0","width":"0.3793604532877604","left":"0.008720939940422036"},{"conf":"1","page_num":"0","line_num":"0","par_num":"0","height":"0.01860465155707458","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","level":"0","left":"0.008720948847176679","top":"0.3093023252679743","width":"0.3851743910047743","word_num":"0"},{"level":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","page_num":"0","par_num":"0","conf":"1","word_num":"0","block_num":"0","width":"0.27180230882432727","height":"0.011627906163533597","top":"0.3325581400286983","left":"0.01017442358565618"},{"top":"0.3325581400718851","left":"0.2805232549080388","line_num":"0","text":"__mocks__/nudges.js","block_num":"0","page_num":"0","width":"0.1061046494377984","word_num":"0","level":"0","conf":"0.5","par_num":"0","height":"0.013953487608167836"},{"height":"0.01860465155707458","word_num":"0","line_num":"0","left":"0.008720944988524652","width":"0.4622092776828342","conf":"1","page_num":"0","par_num":"0","top":"0.3488372088726255","block_num":"0","level":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js"},{"text":"front-end/src/components/shared/SavedSearchModal/__tests_.","width":"0.3183139377170139","top":"0.3697674416633232","word_num":"0","par_num":"0","level":"0","block_num":"0","conf":"1","line_num":"0","height":"0.01860465155707458","left":"0.008720943423469624","page_num":"0"},{"top":"0.3883720938223495","text":"front-end/src/components/shared/SavedSearchModal/__tests_","word_num":"0","left":"0.008720939432180469","block_num":"0","height":"0.020930230882432732","par_num":"0","line_num":"0","page_num":"0","conf":"1","level":"0","width":"0.31540696885850694"},{"word_num":"0","height":"0.018604651557074692","page_num":"0","left":"0.32994186531367026","text":"/__snapshots__/saved-search-modal-edit.output.html","block_num":"0","level":"0","top":"0.36976744175634635","conf":"1","line_num":"0","width":"0.2790697521633572","par_num":"0"},{"page_num":"0","line_num":"0","left":"0.329941858342544","word_num":"0","block_num":"0","width":"0.25145348442925347","level":"0","text":"/__snapshots__/saved-search-modal.output.html","par_num":"0","conf":"1","height":"0.01860465155707458","top":"0.3883720925160363"},{"text":"front-end/src/components/shared/SavedSearchModal/config.js","top":"0.4093023252679743","width":"0.32412789662679037","left":"0.008720939459133782","conf":"1","word_num":"0","page_num":"0","height":"0.018604651557074692","block_num":"0","line_num":"0","par_num":"0","level":"0"},{"block_num":"0","conf":"1","level":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","par_num":"0","height":"0.016279069052802075","line_num":"0","page_num":"0","left":"0.008720945245547382","width":"0.36773253546820744","word_num":"0","top":"0.4302325583805757"},{"top":"0.4488372090276642","width":"0.4854651133219401","page_num":"0","level":"0","left":"0.008720939802207934","block_num":"0","line_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","conf":"1","height":"0.01860465155707458","par_num":"0"},{"block_num":"0","conf":"1","top":"0.4697674423340641","height":"0.016279069052802075","par_num":"0","level":"0","line_num":"0","page_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","width":"0.49709298875596786","left":"0.007267450825504717","word_num":"0"},{"par_num":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","top":"0.49069767467902525","level":"0","line_num":"0","page_num":"0","conf":"1","left":"0.008720936961676194","width":"0.245639525519477","word_num":"0","height":"0.016279069052802186","block_num":"0"},{"left":"0.008720940809666643","conf":"1","par_num":"0","top":"0.509302325306734","width":"0.3241278966267904","word_num":"0","page_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","height":"0.01860465155707458","block_num":"0","level":"0","line_num":"0"},{"word_num":"0","height":"0.016279069052802186","par_num":"0","left":"0.008720944263830709","line_num":"0","block_num":"0","page_num":"0","level":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","width":"0.4127906799316406","conf":"1","top":"0.5302325584096454"},{"conf":"1","level":"0","page_num":"0","block_num":"0","top":"0.548837209182703","par_num":"0","width":"0.3808139377170139","left":"0.007267443399245208","height":"0.018604651557074692","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","word_num":"0","line_num":"0"},{"block_num":"0","conf":"1","page_num":"0","line_num":"0","height":"0.018604651557074692","par_num":"0","level":"0","left":"0.00872094066747218","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","top":"0.5697674415470441","width":"0.26308138105604384","word_num":"0"},{"page_num":"0","width":"0.2790697521633572","height":"0.016279069052802297","level":"0","left":"0.008720935081112163","line_num":"0","block_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","word_num":"0","conf":"1","par_num":"0","top":"0.5906976748922036"},{"page_num":"0","top":"0.6093023252912301","line_num":"0","par_num":"0","block_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","word_num":"0","level":"0","left":"0.008720935288035392","width":"0.40697674221462665","conf":"1","height":"0.018604651557074692"},{"text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","block_num":"0","word_num":"0","line_num":"0","height":"0.018604651557074692","left":"0.008720932494423177","conf":"1","level":"0","width":"0.3735465155707466","par_num":"0","page_num":"0","top":"0.630232558174951"},{"width":"0.3575581444634332","conf":"1","height":"0.018604651557074692","level":"0","page_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","top":"0.6488372087951062","left":"0.008720925345802873","block_num":"0","line_num":"0","word_num":"0","par_num":"0"},{"page_num":"0","par_num":"0","left":"0.008720930055878897","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","top":"0.6674418601201179","width":"0.30668604109022357","level":"0","word_num":"0","block_num":"0","height":"0.023669251335991737","line_num":"0","conf":"1"},{"level":"0","line_num":"0","left":"0.30000000013888894","page_num":"0","conf":"0.30000001192092896","height":"0.053333333333333344","text":"rtarest. php","word_num":"0","top":"0.64","par_num":"0","block_num":"0","width":"0.06666666666666665"},{"page_num":"0","line_num":"0","height":"0.016279069052802186","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","block_num":"0","conf":"1","top":"0.6906976746596454","word_num":"0","level":"0","left":"0.008720943324406762","par_num":"0","width":"0.45784882439507385"},{"word_num":"0","left":"0.008720919944754178","par_num":"0","line_num":"0","block_num":"0","page_num":"0","top":"0.7088888885350363","conf":"1","level":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","width":"0.43459303114149306","height":"0.019018088446723147"},{"level":"0","height":"0.046666666666666634","top":"0.6866666667777778","conf":"0.30000001192092896","width":"0.14583333333333337","word_num":"0","line_num":"0","block_num":"0","par_num":"0","text":"fonitrn/esComedad.ron,.php","left":"0.3208333309027779","page_num":"0"},{"text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","line_num":"0","height":"0.01666666666666672","par_num":"0","conf":"1","block_num":"0","page_num":"0","left":"0.008720931874829398","top":"0.73","width":"0.4186046600341797","level":"0","word_num":"0"},{"level":"0","page_num":"0","left":"0.008720944031500208","block_num":"0","height":"0.0189405674404568","top":"0.7488372099361025","word_num":"0","conf":"1","width":"0.5188953399658203","line_num":"0","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php"},{"page_num":"0","level":"0","block_num":"0","left":"0.00872094292957427","conf":"1","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","top":"0.769767441714528","height":"0.01912144766913515","line_num":"0","width":"0.556686019897461","word_num":"0"},{"width":"0.5232557932535807","top":"0.7883720927330905","word_num":"0","line_num":"0","block_num":"0","page_num":"0","left":"0.008720950932465657","height":"0.018604651557074692","conf":"1","level":"0","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php"},{"height":"0.019018088446723147","word_num":"0","level":"0","block_num":"0","conf":"1","left":"0.008720932168461499","line_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","top":"0.8088888884187573","width":"0.5130814022488065","page_num":"0","par_num":"0"},{"conf":"1","block_num":"0","level":"0","par_num":"0","height":"0.018888888888888955","left":"0.00872093066119501","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","top":"0.83","line_num":"0","page_num":"0","width":"0.5901162889268663","word_num":"0"},{"word_num":"0","top":"0.8488372098663348","block_num":"0","width":"0.5901162889268663","left":"0.00872093066119501","level":"0","height":"0.0189405674404568","conf":"1","line_num":"0","par_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","page_num":"0"},{"word_num":"0","width":"0.6017441643608942","page_num":"0","line_num":"0","block_num":"0","top":"0.8697674421015059","left":"0.00872095191817562","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","height":"0.016279069052802186","level":"0","par_num":"0","conf":"1"},{"conf":"1","top":"0.8906976746596453","word_num":"0","page_num":"0","width":"0.5188953399658204","left":"0.008720941480167237","level":"0","line_num":"0","height":"0.016279069052802186","par_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","block_num":"0"},{"block_num":"0","height":"0.019018088446723036","top":"0.9088888883993775","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","page_num":"0","left":"0.008720965718114076","level":"0","par_num":"0","conf":"1","width":"0.5130813598632812","line_num":"0","word_num":"0"},{"height":"0.016666666666666607","left":"0.008720959803854693","page_num":"0","word_num":"0","par_num":"0","width":"0.4796511332194011","conf":"1","line_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","block_num":"0","level":"0","top":"0.93"},{"page_num":"0","width":"0.4636627621120876","word_num":"0","left":"0.008720958818144888","top":"0.9488372099361024","line_num":"0","level":"0","par_num":"0","block_num":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","height":"0.0189405674404568","conf":"1"},{"conf":"1","block_num":"0","top":"0.9674418601201177","width":"0.5348837110731336","level":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","height":"0.02144702911376961","page_num":"0","left":"0.004360485232488721","word_num":"0","line_num":"0","par_num":"0"},{"top":"0.06511627927731145","word_num":"0","width":"0.024709301524692084","par_num":"0","text":"O 84","height":"0.013953487608167836","conf":"0.30000001192092896","left":"0.6250000001737047","block_num":"0","level":"0","line_num":"0","page_num":"0"},{"par_num":"0","line_num":"0","top":"0.06744186098800065","word_num":"0","text":"-zsh","level":"0","left":"0.7194767443728021","conf":"0.5","block_num":"0","page_num":"0","width":"0.017441859510209823","height":"0.011627906163533597"},{"left":"0.7994186049777334","page_num":"0","width":"0.01453488270441694","level":"0","top":"0.0674418609589309","conf":"0.30000001192092896","line_num":"0","par_num":"0","text":"885","word_num":"0","block_num":"0","height":"0.011627906163533597"},{"par_num":"0","page_num":"0","height":"0.014181681738959395","block_num":"0","top":"0.0068626474102171375","line_num":"0","word_num":"0","level":"0","left":"0.8168458269716159","conf":"0.30000001192092896","width":"0.04218044016096334","text":"100% <7"},{"text":"Mon 27 Apr 18:54:37","block_num":"0","left":"0.8909883704520025","line_num":"0","height":"0.016666666666666607","page_num":"0","width":"0.09738372166951503","conf":"1","level":"0","par_num":"0","top":"0.004444444444444473","word_num":"0"},{"conf":"0.30000001192092896","height":"0.013953488667805991","page_num":"0","left":"0.9723837207674626","level":"0","par_num":"0","top":"0.03488372084580105","width":"0.02034883764055051","block_num":"0","text":"181","word_num":"0","line_num":"0"},{"word_num":"0","conf":"1","text":"ec2-user@ip-10-30-95-134:...","block_num":"0","level":"0","top":"0.06744186083296189","line_num":"0","left":"0.8372093056452314","height":"0.011627906163533597","page_num":"0","par_num":"0","width":"0.11046511332194009"},{"conf":"0.30000001192092896","par_num":"0","level":"0","text":"• ₴6|","block_num":"0","line_num":"0","height":"0.013953487608167836","top":"0.06511627933545094","width":"0.024709301524692084","page_num":"0","word_num":"0","left":"0.9534883728710178"},{"text":"66","word_num":"0","level":"0","par_num":"0","left":"0.6511627904225332","top":"0.09069767487282365","width":"0.014534884028964523","line_num":"0","block_num":"0","page_num":"0","conf":"1","height":"0.016279069052802297"},{"width":"0.024709301524692084","top":"0.09302325610427975","block_num":"0","par_num":"0","conf":"1","level":"0","left":"0.668604651975057","height":"0.011627906163533486","line_num":"0","text":"++++","word_num":"0","page_num":"0"},{"page_num":"0","level":"0","word_num":"0","block_num":"0","width":"0.03052325513627796","left":"0.6511627914915763","height":"0.01669250594245064","par_num":"0","text":"23 +-","conf":"1","top":"0.1088888889538393","line_num":"0"},{"level":"0","par_num":"0","top":"0.1302325583999555","conf":"1","text":"20","page_num":"0","block_num":"0","width":"0.014534884028964634","height":"0.016279069052802186","line_num":"0","word_num":"0","left":"0.6511627906647812"},{"line_num":"0","level":"0","conf":"0.5","height":"0.011627906163533486","left":"0.6686046519044723","top":"0.13255813982521003","width":"0.013081394301520444","text":"+-","word_num":"0","block_num":"0","page_num":"0","par_num":"0"},{"left":"0.658430232751938","height":"0.013953487906976814","block_num":"0","line_num":"0","par_num":"0","text":"4","width":"0.007267441618217019","word_num":"0","conf":"1","level":"0","page_num":"0","top":"0.15116279116279063"},{"level":"0","line_num":"0","page_num":"0","conf":"0.30000001192092896","width":"0.01162790722317164","word_num":"0","block_num":"0","left":"0.6686046510880266","text":"+-","par_num":"0","height":"0.011627906163533486","top":"0.15348837269342708"},{"top":"0.16976744216490824","block_num":"0","width":"0.01889534791310632","line_num":"0","par_num":"0","page_num":"0","conf":"0.30000001192092896","word_num":"0","height":"0.013953487608167947","text":"7 +","level":"0","left":"0.6584302333351134"},{"width":"0.01889534791310632","word_num":"0","conf":"0.5","height":"0.013953487608167836","left":"0.6584302333351134","block_num":"0","page_num":"0","line_num":"0","par_num":"0","text":"1 +","level":"0","top":"0.19069767472304788"},{"block_num":"0","text":"24","word_num":"0","height":"0.016279069052802186","level":"0","top":"0.20930232582243613","width":"0.015988371107313437","left":"0.6511627914570022","page_num":"0","conf":"1","line_num":"0","par_num":"0"},{"page_num":"0","left":"0.6700581396855341","conf":"0.5","width":"0.010174418158001464","word_num":"0","text":"+-","block_num":"0","height":"0.009302325778537401","par_num":"0","line_num":"0","top":"0.21395348820707683","level":"0"},{"height":"0.013953487608167947","left":"0.6511627910242451","level":"0","text":"10","word_num":"0","top":"0.23023255863777647","page_num":"0","block_num":"0","conf":"1","width":"0.01453488270441694","line_num":"0","par_num":"0"},{"left":"0.6584302327537183","block_num":"0","par_num":"0","text":"5 +","width":"0.01889534791310632","word_num":"0","top":"0.2488372092900042","level":"0","height":"0.01671834627787272","conf":"0.5","line_num":"0","page_num":"0"},{"level":"0","page_num":"0","width":"0.01889534791310621","line_num":"0","block_num":"0","word_num":"0","par_num":"0","conf":"1","top":"0.26976744235870675","height":"0.013953487608167836","text":"170","left":"0.646802325807255"},{"conf":"1","line_num":"0","page_num":"0","top":"0.2906976748780866","block_num":"0","word_num":"0","left":"0.651162790963683","height":"0.013953487608167836","level":"0","par_num":"0","text":"18","width":"0.01453488270441694"},{"block_num":"0","height":"0.01860465155707458","level":"0","left":"0.651162791205931","conf":"1","line_num":"0","par_num":"0","text":"16","width":"0.01453488270441694","word_num":"0","top":"0.3093023256168115","page_num":"0"},{"par_num":"0","conf":"0.30000001192092896","left":"0.6686046517106738","text":"+-","height":"0.011627906163533486","width":"0.013081394301520444","word_num":"0","top":"0.31395348897249686","block_num":"0","level":"0","line_num":"0","page_num":"0"},{"text":"62","top":"0.3488372088726255","height":"0.01860465155707458","block_num":"0","line_num":"0","par_num":"0","left":"0.6482558143219299","conf":"1","level":"0","page_num":"0","width":"0.017441859510209934","word_num":"0"},{"line_num":"0","block_num":"0","left":"0.646802325807255","page_num":"0","top":"0.36976744235870673","par_num":"0","conf":"1","height":"0.013953487608167836","level":"0","text":"942","width":"0.01889534791310621","word_num":"0"},{"conf":"1","level":"0","height":"0.013953487608167947","block_num":"0","left":"0.646802325807255","line_num":"0","page_num":"0","text":"942","top":"0.39069767491684626","width":"0.01889534791310621","word_num":"0","par_num":"0"},{"text":"21","top":"0.4093023256673973","height":"0.016279069052802186","left":"0.6511627910605823","line_num":"0","page_num":"0","par_num":"0","conf":"1","block_num":"0","level":"0","width":"0.01453488270441694","word_num":"0"},{"block_num":"0","text":"33","line_num":"0","top":"0.4302325580788877","width":"0.013081395626068137","word_num":"0","conf":"1","level":"0","height":"0.013953488667805991","par_num":"0","left":"0.6526162789947422","page_num":"0"},{"height":"0.011627906163533486","left":"0.6700581403030346","line_num":"0","text":"+++","top":"0.3534883723833495","width":"0.017441859510209823","block_num":"0","word_num":"0","conf":"1","page_num":"0","par_num":"0","level":"0"},{"level":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.8517441851046192","top":"0.14651162689461428","width":"0.1395348866780599","word_num":"0","par_num":"0","height":"0.08372093200683584","text":"APP","line_num":"0"},{"level":"0","block_num":"0","top":"0.4511627900808629","width":"0.013081399599711108","conf":"0.30000001192092896","page_num":"0","left":"0.6686046489065398","line_num":"0","par_num":"0","text":"++++","word_num":"0","height":"0.0813953484429254"},{"page_num":"0","width":"0.011627907223171752","conf":"1","block_num":"0","text":"++","left":"0.6700581393147707","par_num":"0","word_num":"0","top":"0.5325581392707482","level":"0","line_num":"0","height":"0.013953488667805991"},{"left":"0.6700581393235938","block_num":"0","level":"0","height":"0.01162790722317164","par_num":"0","page_num":"0","line_num":"0","top":"0.6116279067372514","width":"0.013081395626068137","text":"++.","conf":"0.30000001192092896","word_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3843
|
NULL
|
NULL
|
|
89204
|
HomeActivityLaterMoreSlackVIewMistonWindowHelpQ De HomeActivityLaterMoreSlackVIewMistonWindowHelpQ Describe what you are looking forJiminny ...Nikolay Yankov@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsic backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga nlattorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the people of iimi..• Messagest Add canvasA Direct messagesP Galya DimitrovaF. Aneliya Angelova€. Vasil Vasilev3 Aneliya Angelova,...P. Nikolay YankovC. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.W. Cahriela Nurova( FilesОткрих, че този контролер се грижи за обикновените странициFriday. April 24th~https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2435789cddf693/app/Http/Controllers/FrontendControllerTrait.php#L122но при други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/puottc/atmunny_c.ongLukas Kovalik 2:41 PMще го погледнаNikolay Yankov 2:41 PMNikolav Yankov 7.41 PMЛукас, за понеделник, виж коментара от Claudehttps://github.com/jiminny/app/pull/11998Todayvlukas Kovalik 10-20 AMнаправих една малка промяна в крайна сметка, комитнах гоNikolay Yankov 10:20 AMLukas Kovallk 10-20 AMтoвa зa faviсon има ли си тикетNikolav Yankov 10:21 ANсамо ми писадаже по-дооре да имаLukas Kovalik 10:21AMхуоаво ла направим, доста време ми отнеме и маи тояова с бес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMинтересноNikolay Yankov 12:32 PMПуснах пак перію, а вим какро в написалоїтова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?тпябва ли ла го вкапваме p кеш#::AnndS Jira Cloud® ToastMessage Nikolay Yankov]+ AaQA 10%4 8 Mon27 Apr 18:54:37*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono ledtures grie nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yoseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoSON columns ( recinients-›users. arouns ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is callea multiple times in a single response.• Denormalised boolean: add a has_generated_ai_reports column to users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →.trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"text":"Home","page_num" [{"text":"Home","page_num":"0","width":"0.011627906180442649","top":"0.13588850153592147","line_num":"0","level":"0","block_num":"0","conf":"1","par_num":"0","left":"0.0058139540803213065","word_num":"0","height":"0.013937282410154683"},{"conf":"1","height":"0.017421602252187585","page_num":"0","line_num":"0","top":"0.24390243911780862","par_num":"0","text":"Activity","level":"0","left":"0.004360465697692593","width":"0.014534883042599294","word_num":"0","block_num":"0"},{"page_num":"0","width":"0.010174418383456292","text":"Later","left":"0.005813953768543167","height":"0.017421602252187585","par_num":"0","line_num":"0","top":"0.3519163764000386","word_num":"0","block_num":"0","conf":"1","level":"0"},{"text":"More","block_num":"0","top":"0.407665505020242","conf":"1","width":"0.011627906180442649","word_num":"0","height":"0.013937282410154683","level":"0","left":"0.0058139540803213065","line_num":"0","page_num":"0","par_num":"0"},{"level":"0","left":"0.015988372286839896","top":"-0.00000000002272559918026218","page_num":"0","par_num":"0","text":"Slack","word_num":"0","conf":"1","block_num":"0","line_num":"0","width":"0.01453488304259929","height":"0.017421602252187585"},{"par_num":"0","left":"0.06395348841001604","conf":"0.30000001192092896","block_num":"0","line_num":"0","level":"0","page_num":"0","top":"0.00696864102015915","width":"0.010174418383456299","height":"0.006968641205077342","word_num":"0","text":"VIew"},{"word_num":"0","left":"0.09302325755713681","par_num":"0","top":"0.006968641450188162","height":"0.006968640444571461","line_num":"0","block_num":"0","page_num":"0","text":"Miston","conf":"0.30000001192092896","level":"0","width":"0.01598837020549368"},{"line_num":"0","conf":"1","height":"0.017421602252187585","width":"0.01744185990475594","left":"0.11482558143328095","top":"-0.00000000002272559918026218","level":"0","block_num":"0","page_num":"0","par_num":"0","text":"Window","word_num":"0"},{"line_num":"0","block_num":"0","left":"0.13808139533831065","height":"0.017421602252187585","par_num":"0","text":"Help","word_num":"0","top":"-0.00000000002272559918026218","level":"0","width":"0.010174418383456285","page_num":"0","conf":"1"},{"width":"0.07267441648118039","line_num":"0","word_num":"0","height":"0.017579980634236048","page_num":"0","left":"0.14098837474722473","conf":"1","par_num":"0","block_num":"0","level":"0","top":"0.027874564683673886","text":"Q Describe what you are looking for"},{"page_num":"0","par_num":"0","word_num":"0","conf":"0.5","left":"0.027616280972991777","text":"Jiminny ...","line_num":"0","top":"0.06937799032465086","height":"0.010761381906755907","width":"0.02906976608519858","level":"0","block_num":"0"},{"line_num":"0","conf":"0.5","text":"Nikolay Yankov","word_num":"0","page_num":"0","par_num":"0","width":"0.05377906941353007","left":"0.113372094092083","top":"0.06271777048382365","height":"0.021014286570571916","block_num":"0","level":"0"},{"left":"0.03343023162082732","line_num":"0","conf":"0.5","top":"0.09407665591941561","width":"0.04941860158392724","block_num":"0","text":"@ jiminny-x-integrati","height":"0.010452960286604362","level":"0","word_num":"0","page_num":"0","par_num":"0"},{"block_num":"0","top":"0.11483253574621899","word_num":"0","left":"0.03343023206285708","conf":"0.5","level":"0","page_num":"0","text":"& platform-inner-team","width":"0.05377906941353006","height":"0.017571645490290444","par_num":"0","line_num":"0"},{"line_num":"0","word_num":"0","conf":"0.30000001192092896","level":"0","left":"0.029069768796061723","height":"0.01754385964912275","block_num":"0","par_num":"0","width":"0.029069766085198585","page_num":"0","text":"© Channels","top":"0.14274322169059017"},{"level":"0","conf":"1","top":"0.16673966325440914","page_num":"0","text":"# ai-chapter","height":"0.01843704941550317","word_num":"0","block_num":"0","line_num":"0","width":"0.03351975248215046","par_num":"0","left":"0.0333854731523376"},{"height":"0.01758831577818165","text":"# alerts","block_num":"0","level":"0","top":"0.18815331079259123","width":"0.021802323929806973","left":"0.033430233468533056","par_num":"0","line_num":"0","word_num":"0","page_num":"0","conf":"0.5"},{"height":"0.007257611367501027","par_num":"0","width":"0.0276162751177524","conf":"0.30000001192092896","line_num":"0","word_num":"0","block_num":"0","top":"0.21602787499438603","page_num":"0","level":"0","text":"ic backend","left":"0.033430233739572664"},{"top":"0.23344947772024505","width":"0.045058138827060126","word_num":"0","height":"0.017746694160230225","conf":"0.5","par_num":"0","text":"# confusion-clinic","line_num":"0","page_num":"0","block_num":"0","left":"0.03343023220953198","level":"0"},{"level":"0","left":"0.03343023341543612","text":"# curiosity_lab","width":"0.037790696671668525","block_num":"0","word_num":"0","par_num":"0","height":"0.014354066985645897","top":"0.25757575757575757","conf":"1","page_num":"0","line_num":"0"},{"height":"0.017421602252187585","text":"# engineering","width":"0.03633720824059019","left":"0.03343023248338709","par_num":"0","page_num":"0","block_num":"0","conf":"1","top":"0.2787456450411536","word_num":"0","line_num":"0","level":"0"},{"height":"0.010558546635142552","left":"0.03343023460359518","line_num":"0","word_num":"0","conf":"0.5","page_num":"0","par_num":"0","width":"0.026162789223041938","block_num":"0","level":"0","text":"# generall","top":"0.3030303029362562"},{"page_num":"0","top":"0.3237639551848104","height":"0.017699459142852314","left":"0.033430233678823834","block_num":"0","par_num":"0","level":"0","text":"# infra-changes","line_num":"0","conf":"1","width":"0.04069767353382517","word_num":"0"},{"height":"0.017421602252187474","left":"0.03343023267189024","conf":"1","block_num":"0","par_num":"0","width":"0.03343023137843355","level":"0","line_num":"0","text":"# jiminny-bg","page_num":"0","word_num":"0","top":"0.3449477351689121"},{"left":"0.03343023160068563","line_num":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.006968641205077342","level":"0","text":"a nlattorm-nckets","width":"0.04360465293234968","word_num":"0","top":"0.3728222995949062","par_num":"0"},{"level":"0","page_num":"0","conf":"1","text":"# product_launches","width":"0.04941860158392724","left":"0.03343023562535342","line_num":"0","height":"0.01771335206343605","par_num":"0","top":"0.3899521529042582","block_num":"0","word_num":"0"},{"text":"# random","word_num":"0","par_num":"0","page_num":"0","top":"0.41463414720861425","level":"0","left":"0.033430231987316365","block_num":"0","width":"0.026162789223041945","height":"0.010452960286604362","line_num":"0","conf":"1"},{"par_num":"0","level":"0","line_num":"0","page_num":"0","conf":"1","text":"# releases","top":"0.43540669856459324","word_num":"0","left":"0.033430233971852706","width":"0.02761627765412026","block_num":"0","height":"0.014354066985646008"},{"left":"0.03343023258555416","line_num":"0","par_num":"0","height":"0.017727244984020007","text":"# sofia-office","width":"0.034883719809511875","conf":"1","level":"0","block_num":"0","page_num":"0","top":"0.45614035056563407","word_num":"0"},{"width":"0.027616277654120266","page_num":"0","height":"0.013937282410154683","word_num":"0","line_num":"0","conf":"0.5","level":"0","par_num":"0","top":"0.48083623672755915","text":"# support","left":"0.033430233969918705","block_num":"0"},{"width":"0.03488371980951188","word_num":"0","line_num":"0","height":"0.017568866601971322","level":"0","conf":"1","text":"# thank-yous","page_num":"0","block_num":"0","par_num":"0","top":"0.5015948961656965","left":"0.0334302336998952"},{"line_num":"0","top":"0.5261324048886707","page_num":"0","conf":"0.30000001192092896","block_num":"0","level":"0","height":"0.010550210730691068","text":"# the people of iimi..","word_num":"0","par_num":"0","left":"0.033430238362816646","width":"0.053779064340794346"},{"conf":"1","level":"0","text":"• Messages","top":"0.10104529652728955","par_num":"0","width":"0.024709300791963637","word_num":"0","block_num":"0","left":"0.10465116432315079","line_num":"0","height":"0.01059744650857486","page_num":"0"},{"width":"0.031976742947355224","left":"0.13517441889894646","word_num":"0","top":"0.09728867634316152","text":"t Add canvas","line_num":"0","level":"0","block_num":"0","conf":"0.5","height":"0.01769390136621407","page_num":"0","par_num":"0"},{"left":"0.028943613485541628","line_num":"0","top":"0.5562816166068031","width":"0.04385969993915964","page_num":"0","height":"0.012721099731834662","level":"0","conf":"1","par_num":"0","block_num":"0","text":"A Direct messages","word_num":"0"},{"width":"0.05232557844608388","level":"0","word_num":"0","left":"0.03343023550429098","par_num":"0","conf":"0.30000001192092896","height":"0.017591094666500773","line_num":"0","block_num":"0","page_num":"0","text":"P Galya Dimitrova","top":"0.5749128923237498"},{"height":"0.021030958379474662","page_num":"0","top":"0.5956937797519628","conf":"0.30000001192092896","block_num":"0","level":"0","text":"F. Aneliya Angelova","left":"0.03343023198830777","par_num":"0","width":"0.04796511568921678","word_num":"0","line_num":"0"},{"conf":"0.5","par_num":"0","text":"€. Vasil Vasilev","top":"0.6202090596724255","height":"0.017749473048549347","left":"0.03343023252693484","width":"0.03633720824059019","block_num":"0","word_num":"0","level":"0","page_num":"0","line_num":"0"},{"left":"0.033430235507062984","block_num":"0","text":"3 Aneliya Angelova,...","top":"0.6443381180735741","width":"0.05232557844608388","word_num":"0","par_num":"0","height":"0.017682787333949346","line_num":"0","conf":"0.5","page_num":"0","level":"0"},{"conf":"0.30000001192092896","left":"0.03343023364877599","line_num":"0","width":"0.04215116196490349","height":"0.017421602252187585","block_num":"0","page_num":"0","level":"0","par_num":"0","text":"P. Nikolay Yankov","top":"0.6655052266178086","word_num":"0"},{"level":"0","height":"0.0177355801279655","left":"0.0334302320269567","line_num":"0","block_num":"0","page_num":"0","word_num":"0","top":"0.6864111500801692","conf":"0.5","text":"C. Nikolay Ivanov","par_num":"0","width":"0.04215116196490349"},{"word_num":"0","block_num":"0","text":"R. Nikolay Nikolov","line_num":"0","page_num":"0","top":"0.710526315793022","par_num":"0","height":"0.01769668025453308","level":"0","width":"0.045058138827060126","conf":"0.5","left":"0.033430233608541776"},{"par_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.0334302335307816","height":"0.017421602252187585","text":"fl. Stefka Stoyanova","page_num":"0","top":"0.7317073172101431","word_num":"0","line_num":"0","width":"0.04796511568921677","level":"0"},{"text":"R. Adelina Petrova","top":"0.752613240720201","height":"0.017721687207381653","word_num":"0","left":"0.03343023190749662","page_num":"0","width":"0.04505813882706013","conf":"1","level":"0","line_num":"0","par_num":"0","block_num":"0"},{"word_num":"0","height":"0.01771057317511704","line_num":"0","width":"0.04069767353382516","left":"0.03343023367505823","level":"0","text":"R. Stoyan Tomov","conf":"0.5","top":"0.7767145135705419","page_num":"0","block_num":"0","par_num":"0"},{"par_num":"0","text":"( Petko Kashinski","line_num":"0","conf":"1","block_num":"0","level":"0","width":"0.043604647859613946","page_num":"0","word_num":"0","top":"0.8013937287417153","left":"0.0334302366242539","height":"0.010452960286604362"},{"left":"0.033430233608541776","block_num":"0","height":"0.017552194793068465","word_num":"0","level":"0","top":"0.8221690590544602","line_num":"0","page_num":"0","width":"0.045058138827060126","par_num":"0","text":"88. Mario Georgiev","conf":"0.5"},{"block_num":"0","level":"0","width":"0.043604647859613946","text":"Ss: Todor Stamatov.","conf":"0.5","top":"0.8466898963487846","page_num":"0","line_num":"0","left":"0.03343023662617514","height":"0.010566881779088155","par_num":"0","word_num":"0"},{"block_num":"0","conf":"0.30000001192092896","width":"0.043604647859613946","page_num":"0","height":"0.007235383302971576","word_num":"0","text":"W. Cahriela Nurova","level":"0","par_num":"0","line_num":"0","top":"0.8708133969827938","left":"0.03343023629393364"},{"top":"0.10104529678861351","text":"( Files","line_num":"0","height":"0.01059744650857497","word_num":"0","left":"0.17005814136443054","page_num":"0","block_num":"0","conf":"0.30000001192092896","par_num":"0","level":"0","width":"0.018895347067650337"},{"conf":"1","height":"0.011164274322169043","par_num":"0","width":"0.14970928557375646","block_num":"0","top":"0.1355661881977671","page_num":"0","level":"0","word_num":"0","left":"0.11627908695770002","text":"Открих, че този контролер се грижи за обикновените страници","line_num":"0"},{"line_num":"0","height":"0.010480746888277825","block_num":"0","level":"0","page_num":"0","conf":"0.5","text":"Friday. April 24th~","top":"0.1323763954902536","width":"0.039244185102746854","word_num":"0","left":"0.2776162784218681","par_num":"0"},{"height":"0.017421602252187474","page_num":"0","text":"https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2435789cddf693/app/Http/Controllers/FrontendControllerTrait.php#L122","block_num":"0","width":"0.32122092551373416","top":"0.14982578406554392","par_num":"0","conf":"1","word_num":"0","line_num":"0","left":"0.11627907748053581","level":"0"},{"top":"0.18102073365231264","block_num":"0","width":"0.1308139537243133","line_num":"0","conf":"1","height":"0.0071770334928229484","left":"0.11773255782586003","level":"0","word_num":"0","text":"но при други не знам точно как става и от кьде го взима","par_num":"0","page_num":"0"},{"conf":"0.5","height":"0.011164274322169154","level":"0","par_num":"0","text":"та Галя ми писа да го видим","block_num":"0","left":"0.1162790771779641","line_num":"0","page_num":"0","top":"0.20175438596491224","width":"0.0668604576841314","word_num":"0"},{"text":"доколкото виждам, тази трябва да е окей иконата","height":"0.017421602252187474","top":"0.22299651577286095","conf":"1","line_num":"0","width":"0.11918604627568673","word_num":"0","par_num":"0","block_num":"0","page_num":"0","left":"0.11627907224482441","level":"0"},{"top":"0.2473867595432866","conf":"0.30000001192092896","left":"0.11773255915597408","level":"0","line_num":"0","page_num":"0","par_num":"0","width":"0.07848837020549368","word_num":"0","block_num":"0","height":"0.006968641205077342","text":"atminny/app/puottc/atmunny_c.ong"},{"line_num":"0","left":"0.11773256085283156","top":"0.2647527910685805","block_num":"0","level":"0","height":"0.014354066985645897","word_num":"0","conf":"1","page_num":"0","par_num":"0","text":"Lukas Kovalik 2:41 PM","width":"0.04941860158392723"},{"width":"0.03779069667166851","height":"0.013953954219057652","par_num":"0","conf":"1","text":"ще го погледна","left":"0.11773255916334271","word_num":"0","top":"0.3066202088178729","level":"0","line_num":"0","page_num":"0","block_num":"0"},{"block_num":"0","page_num":"0","width":"0.05377906434079431","level":"0","height":"0.017768922224759676","line_num":"0","text":"Nikolay Yankov 2:41 PM","top":"0.32752613323268465","word_num":"0","par_num":"0","conf":"1","left":"0.11773256138692549"},{"text":"Nikolav Yankov 7.41 PM","level":"0","width":"0.05232557337334816","page_num":"0","conf":"0.30000001192092896","block_num":"0","word_num":"0","par_num":"0","line_num":"0","top":"0.3832752616592474","height":"0.006968640444571461","left":"0.11773256075349885"},{"top":"0.3971291866028708","width":"0.11191860158392725","word_num":"0","page_num":"0","level":"0","left":"0.11773255838017385","height":"0.01754385964912286","block_num":"0","conf":"1","line_num":"0","par_num":"0","text":"Лукас, за понеделник, виж коментара от Claude"},{"par_num":"0","conf":"1","page_num":"0","level":"0","block_num":"0","left":"0.11627907900153954","top":"0.41811846741767345","word_num":"0","height":"0.010452960286604362","line_num":"0","text":"https://github.com/jiminny/app/pull/11998","width":"0.0973837122004083"},{"block_num":"0","left":"0.2892441863927594","line_num":"0","text":"Todayv","word_num":"0","level":"0","height":"0.006968641205077342","page_num":"0","conf":"0.30000001192092896","top":"0.4529616724604959","width":"0.01744185990475594","par_num":"0"},{"conf":"0.30000001192092896","text":"lukas Kovalik 10-20 AM","width":"0.05377906434079435","word_num":"0","left":"0.11627907507736054","par_num":"0","line_num":"0","block_num":"0","level":"0","page_num":"0","top":"0.48083623717426005","height":"0.00720204044567152"},{"par_num":"0","text":"направих една малка промяна в крайна сметка, комитнах го","block_num":"0","word_num":"0","line_num":"0","conf":"1","page_num":"0","level":"0","height":"0.01051408974557777","width":"0.1395348792380475","top":"0.49825784007433493","left":"0.1177325649237991"},{"conf":"0.5","page_num":"0","height":"0.014354066985645897","left":"0.11773255937818321","level":"0","word_num":"0","top":"0.5191387559808612","text":"Nikolay Yankov 10:20 AM","block_num":"0","width":"0.0566860462756867","line_num":"0","par_num":"0"},{"page_num":"0","level":"0","par_num":"0","left":"0.11773255938504366","word_num":"0","height":"0.0073104049220229506","conf":"0.5","text":"Lukas Kovallk 10-20 AM","top":"0.5644599301598978","block_num":"0","line_num":"0","width":"0.05087209255137341"},{"text":"тoвa зa faviсon има ли си тикет","width":"0.07267441648118039","height":"0.006968641205077342","block_num":"0","conf":"0.30000001192092896","level":"0","page_num":"0","line_num":"0","par_num":"0","word_num":"0","top":"0.581881533047702","left":"0.11773256023956638"},{"width":"0.053779069413530084","page_num":"0","line_num":"0","top":"0.6060606058895484","level":"0","left":"0.11773255932605839","conf":"0.30000001192092896","word_num":"0","par_num":"0","text":"Nikolav Yankov 10:21 AN","block_num":"0","height":"0.00717981238114207"},{"left":"0.1177325573369174","width":"0.030523257052644776","word_num":"0","height":"0.006968641205077342","block_num":"0","par_num":"0","text":"само ми писа","conf":"1","top":"0.6480836236317404","page_num":"0","level":"0","line_num":"0"},{"line_num":"0","block_num":"0","page_num":"0","level":"0","par_num":"0","text":"даже по-дооре да има","width":"0.05377906941353007","conf":"1","left":"0.11627907002945485","height":"0.007282619080855368","top":"0.6968641114502092","word_num":"0"},{"level":"0","par_num":"0","line_num":"0","height":"0.017771701113078797","page_num":"0","width":"0.05523255530824053","word_num":"0","left":"0.11627907259365675","block_num":"0","text":"Lukas Kovalik 10:21AM","conf":"1","top":"0.7142857147783611"},{"width":"0.2005813679796584","page_num":"0","height":"0.007207597461803772","left":"0.11627907691646958","word_num":"0","level":"0","line_num":"0","text":"хуоаво ла направим, доста време ми отнеме и маи тояова с бес така иначе да се види","conf":"0.5","block_num":"0","par_num":"0","top":"0.7384370015438981"},{"height":"0.010753046002304312","width":"0.04941860158392722","left":"0.11627907366496457","conf":"1","par_num":"0","text":"от S3 изглежда идва","word_num":"0","page_num":"0","block_num":"0","level":"0","top":"0.7595818820544469","line_num":"0"},{"level":"0","conf":"1","top":"0.7804878047700857","width":"0.05668604627568671","word_num":"0","block_num":"0","left":"0.11773255926707307","page_num":"0","height":"0.013937282410154683","line_num":"0","par_num":"0","text":"Nikolay Yankov 10:22 AM"},{"text":"интересно","word_num":"0","width":"0.024709300791963623","conf":"0.5","par_num":"0","left":"0.11773255767087878","top":"0.8048780491156933","height":"0.006968640444571572","block_num":"0","level":"0","page_num":"0","line_num":"0"},{"par_num":"0","level":"0","conf":"1","height":"0.017552194793068465","line_num":"0","width":"0.0566860462756867","block_num":"0","text":"Nikolay Yankov 12:32 PM","page_num":"0","word_num":"0","top":"0.8221690590544602","left":"0.11773255937818321"},{"page_num":"0","level":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","height":"0.0072715042880847625","par_num":"0","left":"0.1177325694571879","text":"Пуснах пак перію, а вим какро в написалої","width":"0.09593022123296212","top":"0.8429027113575609","word_num":"0"},{"conf":"1","line_num":"0","par_num":"0","height":"0.013937282410154683","level":"0","width":"0.20203488938351893","block_num":"0","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","left":"0.11773255516077728","top":"0.864111497935457","word_num":"0","page_num":"0"},{"text":"тпябва ли ла го вкапваме p кеш","word_num":"0","page_num":"0","block_num":"0","line_num":"0","height":"0.007327075970420038","left":"0.11627907949754894","par_num":"0","top":"0.8850174217942274","width":"0.07412789730315512","level":"0","conf":"0.5"},{"text":"#::Annd","top":"0.8989547046999035","word_num":"0","block_num":"0","line_num":"0","page_num":"0","level":"0","width":"0.020348835498728648","height":"0.010452960286604362","left":"0.027616278907612524","par_num":"0","conf":"0.30000001192092896"},{"height":"0.017421602252187474","left":"0.03343023298627709","par_num":"0","conf":"0.5","top":"0.9198606275759968","width":"0.03197674294735524","word_num":"0","level":"0","page_num":"0","text":"S Jira Cloud","line_num":"0","block_num":"0"},{"text":"® Toast","height":"0.017766144857452204","left":"0.03343023412519857","width":"0.023255812360885295","block_num":"0","level":"0","line_num":"0","top":"0.9407665505780702","conf":"0.30000001192092896","page_num":"0","par_num":"0","word_num":"0"},{"width":"0.05813953217039716","conf":"0.5","height":"0.021014286570571805","par_num":"0","word_num":"0","left":"0.1061046519283537","level":"0","block_num":"0","line_num":"0","text":"Message Nikolay Yankov]","top":"0.9162679429310865","page_num":"0"},{"height":"0.017680009966641874","block_num":"0","text":"+ Aa","width":"0.018895348335834256","top":"0.9512195119378624","level":"0","word_num":"0","page_num":"0","par_num":"0","line_num":"0","left":"0.10755814010049372","conf":"0.30000001192092896"},{"top":"0.00000000033500369145400555","left":"0.8343023231844134","height":"0.020905922094220375","block_num":"0","text":"QA 10%4 8 Mon27 Apr 18:54:37","page_num":"0","word_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.16133721331332596","level":"0","line_num":"0"},{"word_num":"0","left":"0.47674418604651164","level":"0","block_num":"0","par_num":"0","top":"0.02787456492450635","height":"0.017421602206736386","conf":"0.30000001192092896","line_num":"0","text":"","page_num":"0","width":"0.008720929941860467"},{"height":"0.02090592282229975","block_num":"0","left":"0.8895348839026164","level":"0","text":"*","width":"0.008720930014534889","word_num":"0","par_num":"0","line_num":"0","page_num":"0","top":"0.027874564982578343","conf":"0.5"},{"block_num":"0","page_num":"0","conf":"1","left":"0.5029069814629333","line_num":"0","par_num":"0","top":"0.06271777012826163","width":"0.08284883296236079","text":"Al reports promotion pages #11998","word_num":"0","level":"0","height":"0.017421602252187585"},{"conf":"1","line_num":"0","height":"0.010475189872145352","level":"0","par_num":"0","block_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","left":"0.5029069820387471","word_num":"0","top":"0.08362369354010668","page_num":"0","width":"0.21947674041098741"},{"word_num":"0","left":"0.515988370209941","height":"0.007327075970420038","level":"0","conf":"0.30000001192092896","top":"0.10765550223535247","block_num":"0","width":"0.08720929571922797","par_num":"0","page_num":"0","line_num":"0","text":"ranoramakeportsrrono ledtures grie nou"},{"conf":"0.30000001192092896","par_num":"0","left":"0.6206395320015682","page_num":"0","width":"0.12936045261139562","word_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","height":"0.010516868633896892","block_num":"0","line_num":"0","top":"0.10446570957187562","level":"0"},{"conf":"0.30000001192092896","line_num":"0","page_num":"0","height":"0.003484320602538671","block_num":"0","left":"0.5130813947747878","text":"oseeis","width":"0.024709303328331433","word_num":"0","par_num":"0","top":"0.1254355400369147","level":"0"},{"left":"0.6206395381627619","level":"0","text":"added at line 170","par_num":"0","top":"0.11483253561555695","word_num":"0","line_num":"0","block_num":"0","width":"0.04069767099745736","page_num":"0","conf":"1","height":"0.017571645490290444"},{"line_num":"0","height":"0.01754385964912275","block_num":"0","conf":"1","level":"0","page_num":"0","par_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","top":"0.14274322169059017","width":"0.1308139435788419","left":"0.6206395418231858","word_num":"0"},{"par_num":"0","conf":"1","level":"0","line_num":"0","page_num":"0","block_num":"0","left":"0.5145348893682301","height":"0.017621659395987477","text":"Wording inconsistency (modal vs inline)","top":"0.15311004759362778","width":"0.08720929571922786","word_num":"0"},{"par_num":"0","top":"0.16724738673389183","width":"0.027616277654120225","word_num":"0","line_num":"0","left":"0.6206395362891324","level":"0","text":"as possible.","conf":"0.30000001192092896","page_num":"0","height":"0.006968641205077342","block_num":"0"},{"block_num":"0","conf":"0.30000001192092896","text":"nrer compured calling can a second","width":"0.08866277654120269","left":"0.514534888937681","par_num":"0","page_num":"0","top":"0.1951219515547178","height":"0.006968640444571461","line_num":"0","word_num":"0","level":"0"},{"conf":"1","page_num":"0","height":"0.0175883172991933","text":"Fixed - canManageAiReports extracted as a shared","width":"0.11482557337334798","word_num":"0","level":"0","line_num":"0","par_num":"0","top":"0.18815330979979739","left":"0.620639539097222","block_num":"0"},{"page_num":"0","conf":"1","level":"0","height":"0.017421602252187474","par_num":"0","left":"0.6220930244397125","width":"0.023255812360885253","top":"0.20557491298540453","word_num":"0","block_num":"0","text":"computed","line_num":"0"},{"left":"0.5145348842644298","top":"0.20557491302895847","block_num":"0","word_num":"0","page_num":"0","width":"0.011627906180442626","text":"time","level":"0","conf":"1","line_num":"0","height":"0.017421602252187585","par_num":"0"},{"text":"trackInterest endpoint missing rate","top":"0.23344947777831704","block_num":"0","level":"0","word_num":"0","left":"0.5159883762736059","width":"0.08284883296236079","par_num":"0","height":"0.017746694160230114","conf":"1","page_num":"0","line_num":"0"},{"par_num":"0","top":"0.25435540103206966","width":"0.015988370205493596","line_num":"0","text":"limitina","word_num":"0","conf":"1","page_num":"0","level":"0","block_num":"0","height":"0.006968640444571461","left":"0.5145348854641136"},{"word_num":"0","par_num":"0","text":"Still present (see below)","left":"0.6206395358560387","height":"0.017807823619203744","block_num":"0","line_num":"0","conf":"1","page_num":"0","top":"0.24003189772282119","width":"0.05523255530824056","level":"0"},{"line_num":"0","text":"Remaining issues","block_num":"0","conf":"1","height":"0.017613322731030334","page_num":"0","par_num":"0","top":"0.31339712947633447","width":"0.049418601583927246","word_num":"0","level":"0","left":"0.49854651467944094"},{"line_num":"0","page_num":"0","par_num":"0","top":"0.34843205595226867","left":"0.500000004738088","word_num":"0","conf":"0.5","block_num":"0","text":". Extra DB query still fires on every page load","level":"0","width":"0.10319766592472168","height":"0.017596652443139016"},{"page_num":"0","line_num":"0","left":"0.4999999984771364","conf":"1","text":"app/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297","height":"0.017632773428252313","top":"0.3763066205923885","width":"0.24709301806510764","level":"0","word_num":"0","par_num":"0","block_num":"0"},{"block_num":"0","level":"0","line_num":"0","conf":"1","word_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).","width":"0.2194767201200445","page_num":"0","left":"0.502907000810188","par_num":"0","height":"0.010708589112739642","top":"0.4178628388386477"},{"block_num":"0","top":"0.45993031375224214","line_num":"0","left":"0.5000000072941873","par_num":"0","height":"0.017741137904603743","page_num":"0","level":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","word_num":"0","conf":"0.5","width":"0.24127905419532292"},{"block_num":"0","top":"0.4773519162821602","width":"0.25000000000000006","line_num":"0","level":"0","conf":"1","word_num":"0","par_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","left":"0.49999999992732563","page_num":"0","height":"0.013937282410154683"},{"conf":"1","page_num":"0","word_num":"0","block_num":"0","line_num":"0","par_num":"0","height":"0.020967051553193783","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","top":"0.4912280702286602","level":"0","left":"0.5014534918272605","width":"0.24854649888708236"},{"word_num":"0","conf":"0.5","left":"0.5014534867955044","line_num":"0","width":"0.22674416481180393","height":"0.010686361048210191","block_num":"0","level":"0","top":"0.5119617223575448","text":"SON columns ( recinients-›users. arouns ) — these can't be indexed efficiently and will dearade as the","par_num":"0","page_num":"0"},{"top":"0.5606060607313222","conf":"0.5","left":"0.5014534853695467","level":"0","width":"0.08720930586469933","word_num":"0","block_num":"0","text":"uaaested mitiaations (in order of effort):","line_num":"0","page_num":"0","par_num":"0","height":"0.0073381900026847635"},{"height":"0.01754385964912286","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","width":"0.17587209255137348","level":"0","word_num":"0","top":"0.5853269537480064","block_num":"0","conf":"1","left":"0.5014534869745092","page_num":"0","line_num":"0","par_num":"0"},{"par_num":"0","level":"0","line_num":"0","conf":"0.5","width":"0.23982555308240527","page_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","block_num":"0","height":"0.01762721565161396","top":"0.6027874571526035","word_num":"0","left":"0.5058139713227934"},{"level":"0","par_num":"0","page_num":"0","height":"0.007352082923268499","top":"0.6267942582824599","block_num":"0","conf":"0.5","left":"0.505813952429079","line_num":"0","text":"transtorm() Is callea multiple times in a single response.","width":"0.12499998985452854","word_num":"0"},{"block_num":"0","par_num":"0","conf":"1","text":"• Denormalised boolean: add a has_generated_ai_reports column to users , set/cleared by the report generation/","height":"0.017421602252187474","line_num":"0","top":"0.6376306621143244","word_num":"0","page_num":"0","left":"0.5014535110176093","width":"0.25436044246592426","level":"0"},{"width":"0.10465116703763921","left":"0.5058139514828719","conf":"1","top":"0.6618819776714514","height":"0.0071770334928229484","word_num":"0","page_num":"0","par_num":"0","text":"deletion pipeline — eliminates the querv entirelv.","line_num":"0","block_num":"0","level":"0"},{"top":"0.6864111496195452","height":"0.013937282410154683","block_num":"0","conf":"0.5","par_num":"0","text":"Fix this →","width":"0.021802323929806966","level":"0","left":"0.5000000014415185","line_num":"0","page_num":"0","word_num":"0"},{"word_num":"0","width":"0.15261627765412034","page_num":"0","left":"0.5014534903874139","par_num":"0","top":"0.742160278657975","level":"0","conf":"1","block_num":"0","line_num":"0","text":".trackInterest endpoint has no rate limit or idempotency guard","height":"0.017807823619203744"},{"text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","word_num":"0","line_num":"0","width":"0.2282482918272627","block_num":"0","par_num":"0","conf":"1","top":"0.7722896038389206","height":"0.015257932732930413","page_num":"0","level":"0","left":"0.4999683815815489"},{"text":"pi.php:282","word_num":"0","page_num":"0","block_num":"0","level":"0","top":"0.7944250870834626","width":"0.02470930332833149","par_num":"0","left":"0.4999999995712994","conf":"0.5","line_num":"0","height":"0.006968641205077342"},{"block_num":"0","line_num":"0","par_num":"0","left":"0.5029069986857431","text":"public function trackInterest(Request srequest): JsonResponse","top":"0.8325358852423792","conf":"0.5","height":"0.021122649525911585","page_num":"0","width":"0.14680230363886415","level":"0","word_num":"0"},{"left":"0.5116279148651706","page_num":"0","par_num":"0","block_num":"0","word_num":"0","top":"0.8604465709728868","width":"0.23255810839064572","level":"0","line_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","height":"0.0071770334928229484","conf":"0.5"},{"level":"0","word_num":"0","width":"0.25290696164394944","par_num":"0","left":"0.500000019045948","height":"0.010647460414272003","conf":"1","page_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","block_num":"0","line_num":"0","top":"0.9266347687970263"},{"height":"0.017766144857452204","block_num":"0","top":"0.9407665505780702","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","left":"0.49999999512449644","level":"0","word_num":"0","par_num":"0","page_num":"0","line_num":"0","conf":"1","width":"0.2441860564211581"},{"par_num":"0","conf":"1","left":"0.5000000013824143","block_num":"0","top":"0.958188153403523","word_num":"0","page_num":"0","text":"racking noise in analytics.","width":"0.05668604627568663","height":"0.017421602252187474","line_num":"0","level":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4589
|
NULL
|
NULL
|
|
89205
|
HomeActivityFllesLaterMoreSlackVIewMistonWindowHel HomeActivityFllesLaterMoreSlackVIewMistonWindowHelpQ Describe what you are looking forJiminny...yNikolay Yankov@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsic backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga nlattorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the people of iimi..• Messagest Add canvas( FilesОткрих, че този контролер се грижи за обикновените странициFriday. April 24th~https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2435789cddf693/app/Http/Controllers/FrontendControllerTrait.php#L122но при други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/puottc/atmunny_c.ongLukas Kovalik 2:41 PMще го погледнаNikolay Yankov 2:41 PMNikolav Yankov 7.41 PMЛукас, за понеделник, виж коментара от Claudehttps://github.com/jiminny/app/pull/11998Todayvlukas Kovalik 10-20 AMнаправих една малка промяна в крайна сметка, комитнах гоNikolay Yankov 10:20 AMA Direct messagesP Galya DimitrovaF. Aneliya Angelova€. Vasil Vasilev3 Aneliya Angelova,...P. Nikolay YankovC. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela DurevaLukas Kovallk 10-20 AMтoвa зa faviсon има ли си тикетNikolav Yankov 10:21 ANсамо ми пИсадаже по-дооре да имаLukas Kovalik 10:21AMхуоаво ла направим, доста време ми отнеме и маи тояова с бес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMинтересноNikolay Yankov 12:32 PMПуснах пак перію, а вим какро в написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?тпябва ли ла го вкапваме p кеш#::AnndS Jira Cloud® ToastMessage Nikolay Yankggv+ AaA 10% 8 Mon27 Apr 18:54:59*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono ledtures grie nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yoseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response.• Denormalised boolean: add a has_generated_ai_reports columnto users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →.trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"conf":"1","width":" [{"conf":"1","width":"0.011627906180442649","word_num":"0","height":"0.013937282410154683","par_num":"0","block_num":"0","text":"Home","line_num":"0","left":"0.0058139540803213065","level":"0","page_num":"0","top":"0.13588850153592147"},{"line_num":"0","height":"0.017421602252187585","conf":"1","par_num":"0","top":"0.24390243911780862","left":"0.004360465697692593","block_num":"0","width":"0.014534883042599294","level":"0","word_num":"0","page_num":"0","text":"Activity"},{"word_num":"0","left":"0.0072674419278807864","level":"0","top":"0.29965156806670534","conf":"0.5","height":"0.017421602252187474","line_num":"0","block_num":"0","page_num":"0","par_num":"0","text":"Flles","width":"0.00872092995237797"},{"height":"0.017421602252187585","page_num":"0","word_num":"0","level":"0","text":"Later","conf":"1","top":"0.3519163764000386","block_num":"0","left":"0.005813953768543167","par_num":"0","line_num":"0","width":"0.010174418383456292"},{"word_num":"0","top":"0.407665505020242","left":"0.0058139540803213065","width":"0.011627906180442649","block_num":"0","conf":"1","height":"0.013937282410154683","level":"0","par_num":"0","text":"More","page_num":"0","line_num":"0"},{"width":"0.01453488304259929","height":"0.017421602252187585","page_num":"0","block_num":"0","par_num":"0","word_num":"0","conf":"1","level":"0","line_num":"0","text":"Slack","left":"0.015988372286839896","top":"-0.00000000002272559918026218"},{"level":"0","page_num":"0","par_num":"0","word_num":"0","top":"0.00696864102015915","conf":"0.30000001192092896","line_num":"0","width":"0.010174418383456299","height":"0.006968641205077342","block_num":"0","left":"0.06395348841001604","text":"VIew"},{"block_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461","line_num":"0","page_num":"0","par_num":"0","text":"Miston","word_num":"0","top":"0.006968641450188162","width":"0.01598837020549368","level":"0","left":"0.09302325755713681"},{"line_num":"0","conf":"1","par_num":"0","height":"0.017421602252187585","top":"-0.00000000002272559918026218","width":"0.01744185990475594","page_num":"0","block_num":"0","text":"Window","word_num":"0","level":"0","left":"0.11482558143328095"},{"top":"-0.00000000002272559918026218","width":"0.010174418383456285","text":"Help","word_num":"0","block_num":"0","level":"0","line_num":"0","left":"0.13808139533831065","height":"0.017421602252187585","conf":"1","par_num":"0","page_num":"0"},{"width":"0.07267441648118039","par_num":"0","conf":"1","line_num":"0","top":"0.027874564683673886","text":"Q Describe what you are looking for","word_num":"0","level":"0","block_num":"0","height":"0.017579980634236048","left":"0.14098837474722473","page_num":"0"},{"word_num":"0","text":"Jiminny...y","height":"0.010452961047110243","level":"0","line_num":"0","par_num":"0","top":"0.06968641154961563","width":"0.036337208240590196","block_num":"0","left":"0.027616278692204954","page_num":"0","conf":"0.30000001192092896"},{"left":"0.113372094092083","par_num":"0","top":"0.06271777048382365","word_num":"0","width":"0.05377906941353007","level":"0","line_num":"0","conf":"0.5","text":"Nikolay Yankov","page_num":"0","block_num":"0","height":"0.021014286570571916"},{"text":"@ jiminny-x-integrati","word_num":"0","level":"0","line_num":"0","width":"0.04941860158392724","height":"0.010452960286604362","conf":"0.5","par_num":"0","page_num":"0","top":"0.09407665591941561","left":"0.03343023162082732","block_num":"0"},{"width":"0.05377906941353006","page_num":"0","word_num":"0","conf":"0.5","level":"0","line_num":"0","block_num":"0","top":"0.11483253574621899","text":"& platform-inner-team","height":"0.017571645490290444","left":"0.03343023206285708","par_num":"0"},{"word_num":"0","text":"© Channels","top":"0.14274322169059017","height":"0.01754385964912275","page_num":"0","par_num":"0","block_num":"0","left":"0.029069768796061723","level":"0","line_num":"0","conf":"0.30000001192092896","width":"0.029069766085198585"},{"block_num":"0","top":"0.16673966325440914","word_num":"0","line_num":"0","left":"0.0333854731523376","height":"0.01843704941550317","par_num":"0","width":"0.03351975248215046","page_num":"0","level":"0","conf":"1","text":"# ai-chapter"},{"par_num":"0","top":"0.18815331079259123","width":"0.021802323929806973","block_num":"0","line_num":"0","conf":"0.5","height":"0.01758831577818165","left":"0.033430233468533056","level":"0","text":"# alerts","word_num":"0","page_num":"0"},{"par_num":"0","text":"ic backend","top":"0.21602787499438603","line_num":"0","width":"0.0276162751177524","conf":"0.30000001192092896","page_num":"0","word_num":"0","block_num":"0","left":"0.033430233739572664","height":"0.007257611367501027","level":"0"},{"conf":"0.5","par_num":"0","width":"0.045058138827060126","height":"0.017746694160230225","left":"0.03343023220953198","text":"# confusion-clinic","block_num":"0","level":"0","line_num":"0","top":"0.23344947772024505","word_num":"0","page_num":"0"},{"conf":"1","line_num":"0","text":"# curiosity_lab","width":"0.037790696671668525","level":"0","word_num":"0","block_num":"0","height":"0.014354066985645897","left":"0.03343023341543612","page_num":"0","par_num":"0","top":"0.25757575757575757"},{"width":"0.03633720824059019","level":"0","word_num":"0","conf":"1","line_num":"0","par_num":"0","text":"# engineering","top":"0.2787456450411536","height":"0.017421602252187585","block_num":"0","page_num":"0","left":"0.03343023248338709"},{"par_num":"0","height":"0.010558546635142552","left":"0.03343023460359518","block_num":"0","top":"0.3030303029362562","width":"0.026162789223041938","text":"# generall","level":"0","word_num":"0","conf":"0.5","page_num":"0","line_num":"0"},{"conf":"1","par_num":"0","width":"0.04069767353382517","word_num":"0","height":"0.017699459142852314","block_num":"0","left":"0.033430233678823834","line_num":"0","top":"0.3237639551848104","level":"0","text":"# infra-changes","page_num":"0"},{"block_num":"0","level":"0","line_num":"0","top":"0.3449477351689121","height":"0.017421602252187474","word_num":"0","par_num":"0","conf":"1","page_num":"0","text":"# jiminny-bg","width":"0.03343023137843355","left":"0.03343023267189024"},{"width":"0.04360465293234968","height":"0.006968641205077342","line_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.03343023160068563","level":"0","par_num":"0","block_num":"0","text":"a nlattorm-nckets","top":"0.3728222995949062","word_num":"0"},{"conf":"1","page_num":"0","height":"0.01771335206343605","line_num":"0","block_num":"0","left":"0.03343023562535342","par_num":"0","text":"# product_launches","width":"0.04941860158392724","word_num":"0","top":"0.3899521529042582","level":"0"},{"height":"0.010452960286604362","left":"0.033430231987316365","word_num":"0","line_num":"0","page_num":"0","top":"0.41463414720861425","text":"# random","par_num":"0","conf":"1","block_num":"0","level":"0","width":"0.026162789223041945"},{"top":"0.43540669856459324","block_num":"0","left":"0.033430233971852706","text":"# releases","word_num":"0","line_num":"0","width":"0.02761627765412026","conf":"1","level":"0","par_num":"0","height":"0.014354066985646008","page_num":"0"},{"text":"# sofia-office","word_num":"0","line_num":"0","conf":"1","page_num":"0","left":"0.03343023258555416","height":"0.017727244984020007","width":"0.034883719809511875","block_num":"0","top":"0.45614035056563407","level":"0","par_num":"0"},{"width":"0.027616277654120266","top":"0.48083623672755915","conf":"0.5","height":"0.013937282410154683","block_num":"0","text":"# support","par_num":"0","word_num":"0","page_num":"0","level":"0","left":"0.033430233969918705","line_num":"0"},{"level":"0","width":"0.03488371980951188","top":"0.5015948961656965","block_num":"0","text":"# thank-yous","page_num":"0","height":"0.017568866601971322","word_num":"0","par_num":"0","line_num":"0","conf":"1","left":"0.0334302336998952"},{"line_num":"0","height":"0.010550210730691068","par_num":"0","text":"# the people of iimi..","top":"0.5261324048886707","word_num":"0","width":"0.053779064340794346","conf":"0.30000001192092896","left":"0.033430238362816646","block_num":"0","page_num":"0","level":"0"},{"width":"0.024709300791963637","height":"0.01059744650857486","conf":"1","block_num":"0","line_num":"0","word_num":"0","left":"0.10465116432315079","level":"0","page_num":"0","text":"• Messages","par_num":"0","top":"0.10104529652728955"},{"left":"0.13517441889894646","line_num":"0","level":"0","text":"t Add canvas","page_num":"0","block_num":"0","conf":"0.5","height":"0.01769390136621407","par_num":"0","top":"0.09728867634316152","width":"0.031976742947355224","word_num":"0"},{"text":"( Files","conf":"0.30000001192092896","level":"0","par_num":"0","height":"0.01059744650857497","block_num":"0","top":"0.10104529678861351","word_num":"0","width":"0.018895347067650337","left":"0.17005814136443054","page_num":"0","line_num":"0"},{"word_num":"0","width":"0.14970928557375646","line_num":"0","block_num":"0","page_num":"0","height":"0.011164274322169043","left":"0.11627908695770002","conf":"1","par_num":"0","text":"Открих, че този контролер се грижи за обикновените страници","level":"0","top":"0.1355661881977671"},{"block_num":"0","word_num":"0","page_num":"0","left":"0.2776162784218681","top":"0.1323763954902536","line_num":"0","conf":"0.5","height":"0.010480746888277825","level":"0","par_num":"0","text":"Friday. April 24th~","width":"0.039244185102746854"},{"width":"0.32122092551373416","line_num":"0","text":"https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2435789cddf693/app/Http/Controllers/FrontendControllerTrait.php#L122","page_num":"0","level":"0","block_num":"0","height":"0.017421602252187474","par_num":"0","word_num":"0","conf":"1","top":"0.14982578406554392","left":"0.11627907748053581"},{"par_num":"0","line_num":"0","left":"0.11773255782586003","conf":"1","height":"0.0071770334928229484","text":"но при други не знам точно как става и от кьде го взима","level":"0","page_num":"0","word_num":"0","block_num":"0","top":"0.18102073365231264","width":"0.1308139537243133"},{"conf":"0.5","page_num":"0","par_num":"0","level":"0","text":"та Галя ми писа да го видим","line_num":"0","top":"0.20175438596491224","height":"0.011164274322169154","width":"0.0668604576841314","block_num":"0","left":"0.1162790771779641","word_num":"0"},{"width":"0.11918604627568673","line_num":"0","page_num":"0","block_num":"0","par_num":"0","text":"доколкото виждам, тази трябва да е окей иконата","word_num":"0","left":"0.11627907224482441","height":"0.017421602252187474","conf":"1","level":"0","top":"0.22299651577286095"},{"block_num":"0","conf":"0.30000001192092896","level":"0","text":"atminny/app/puottc/atmunny_c.ong","top":"0.2473867595432866","width":"0.07848837020549368","page_num":"0","par_num":"0","height":"0.006968641205077342","line_num":"0","left":"0.11773255915597408","word_num":"0"},{"block_num":"0","width":"0.04941860158392723","conf":"1","word_num":"0","page_num":"0","height":"0.014354066985645897","left":"0.11773256085283156","line_num":"0","par_num":"0","text":"Lukas Kovalik 2:41 PM","level":"0","top":"0.2647527910685805"},{"top":"0.3066202088178729","line_num":"0","width":"0.03779069667166851","word_num":"0","level":"0","text":"ще го погледна","height":"0.013953954219057652","block_num":"0","conf":"1","left":"0.11773255916334271","page_num":"0","par_num":"0"},{"word_num":"0","block_num":"0","line_num":"0","conf":"1","width":"0.05377906434079431","page_num":"0","height":"0.017768922224759676","text":"Nikolay Yankov 2:41 PM","top":"0.32752613323268465","left":"0.11773256138692549","level":"0","par_num":"0"},{"word_num":"0","height":"0.006968640444571461","page_num":"0","width":"0.05232557337334816","level":"0","block_num":"0","par_num":"0","text":"Nikolav Yankov 7.41 PM","top":"0.3832752616592474","line_num":"0","left":"0.11773256075349885","conf":"0.30000001192092896"},{"conf":"1","level":"0","height":"0.01754385964912286","page_num":"0","block_num":"0","par_num":"0","left":"0.11773255838017385","text":"Лукас, за понеделник, виж коментара от Claude","top":"0.3971291866028708","width":"0.11191860158392725","word_num":"0","line_num":"0"},{"block_num":"0","width":"0.0973837122004083","word_num":"0","par_num":"0","level":"0","text":"https://github.com/jiminny/app/pull/11998","left":"0.11627907900153954","top":"0.41811846741767345","conf":"1","height":"0.010452960286604362","page_num":"0","line_num":"0"},{"height":"0.006968641205077342","word_num":"0","block_num":"0","line_num":"0","width":"0.01744185990475594","top":"0.4529616724604959","conf":"0.30000001192092896","text":"Todayv","left":"0.2892441863927594","page_num":"0","level":"0","par_num":"0"},{"block_num":"0","level":"0","left":"0.11627907507736054","par_num":"0","top":"0.48083623717426005","width":"0.05377906434079435","word_num":"0","page_num":"0","conf":"0.30000001192092896","line_num":"0","text":"lukas Kovalik 10-20 AM","height":"0.00720204044567152"},{"par_num":"0","width":"0.1395348792380475","top":"0.49825784007433493","level":"0","text":"направих една малка промяна в крайна сметка, комитнах го","line_num":"0","block_num":"0","height":"0.01051408974557777","left":"0.1177325649237991","page_num":"0","conf":"1","word_num":"0"},{"text":"Nikolay Yankov 10:20 AM","top":"0.5191387559808612","width":"0.0566860462756867","word_num":"0","block_num":"0","page_num":"0","left":"0.11773255937818321","height":"0.014354066985645897","conf":"1","level":"0","line_num":"0","par_num":"0"},{"height":"0.012721099731834662","level":"0","word_num":"0","line_num":"0","page_num":"0","par_num":"0","width":"0.04385969993915964","conf":"1","left":"0.028943613485541628","top":"0.5562816166068031","text":"A Direct messages","block_num":"0"},{"level":"0","page_num":"0","word_num":"0","conf":"0.30000001192092896","left":"0.03343023550429098","par_num":"0","line_num":"0","text":"P Galya Dimitrova","block_num":"0","top":"0.5749128923237498","height":"0.017591094666500773","width":"0.05232557844608388"},{"top":"0.5956937797519628","line_num":"0","height":"0.021030958379474662","left":"0.03343023198830777","conf":"0.30000001192092896","width":"0.04796511568921678","block_num":"0","page_num":"0","level":"0","par_num":"0","text":"F. Aneliya Angelova","word_num":"0"},{"word_num":"0","page_num":"0","line_num":"0","block_num":"0","par_num":"0","left":"0.03343023252693484","conf":"0.5","text":"€. Vasil Vasilev","height":"0.017749473048549347","top":"0.6202090596724255","width":"0.03633720824059019","level":"0"},{"block_num":"0","conf":"0.5","height":"0.017682787333949346","word_num":"0","par_num":"0","left":"0.033430235507062984","level":"0","width":"0.05232557844608388","page_num":"0","text":"3 Aneliya Angelova,...","line_num":"0","top":"0.6443381180735741"},{"width":"0.04215116196490349","height":"0.017421602252187585","left":"0.03343023364877599","text":"P. Nikolay Yankov","page_num":"0","par_num":"0","word_num":"0","level":"0","line_num":"0","block_num":"0","conf":"0.30000001192092896","top":"0.6655052266178086"},{"conf":"0.5","height":"0.0177355801279655","line_num":"0","width":"0.04215116196490349","text":"C. Nikolay Ivanov","page_num":"0","word_num":"0","left":"0.0334302320269567","level":"0","top":"0.6864111500801692","block_num":"0","par_num":"0"},{"left":"0.033430233608541776","width":"0.045058138827060126","conf":"0.5","block_num":"0","text":"R. Nikolay Nikolov","line_num":"0","word_num":"0","par_num":"0","page_num":"0","height":"0.01769668025453308","top":"0.710526315793022","level":"0"},{"word_num":"0","height":"0.017421602252187585","block_num":"0","top":"0.7317073172101431","text":"fl. Stefka Stoyanova","par_num":"0","level":"0","page_num":"0","line_num":"0","conf":"0.30000001192092896","left":"0.0334302335307816","width":"0.04796511568921677"},{"conf":"1","level":"0","top":"0.752613240720201","line_num":"0","left":"0.03343023190749662","block_num":"0","par_num":"0","width":"0.04505813882706013","word_num":"0","text":"R. Adelina Petrova","page_num":"0","height":"0.017721687207381653"},{"width":"0.04069767353382516","word_num":"0","level":"0","left":"0.03343023367505823","text":"R. Stoyan Tomov","top":"0.7767145135705419","page_num":"0","height":"0.01771057317511704","conf":"0.5","line_num":"0","block_num":"0","par_num":"0"},{"left":"0.0334302366242539","line_num":"0","page_num":"0","conf":"1","par_num":"0","top":"0.8013937287417153","block_num":"0","width":"0.043604647859613946","text":"( Petko Kashinski","height":"0.010452960286604362","word_num":"0","level":"0"},{"left":"0.033430233608541776","word_num":"0","par_num":"0","page_num":"0","line_num":"0","block_num":"0","height":"0.017552194793068465","text":"88. Mario Georgiev","top":"0.8221690590544602","conf":"0.5","level":"0","width":"0.045058138827060126"},{"top":"0.8466898963487846","word_num":"0","level":"0","left":"0.03343023662617514","line_num":"0","page_num":"0","text":"Ss: Todor Stamatov.","width":"0.043604647859613946","conf":"0.5","height":"0.010566881779088155","par_num":"0","block_num":"0"},{"line_num":"0","conf":"0.5","width":"0.045058138827060126","level":"0","word_num":"0","height":"0.013937282410154683","par_num":"0","text":"Pa Gabriela Dureva","left":"0.033430233608541776","block_num":"0","top":"0.8675958186090923","page_num":"0"},{"line_num":"0","width":"0.05087209255137341","left":"0.11773255938504366","text":"Lukas Kovallk 10-20 AM","top":"0.5644599301598978","level":"0","page_num":"0","conf":"0.5","par_num":"0","height":"0.0073104049220229506","block_num":"0","word_num":"0"},{"left":"0.11773256023956638","word_num":"0","page_num":"0","par_num":"0","top":"0.581881533047702","level":"0","line_num":"0","width":"0.07267441648118039","height":"0.006968641205077342","text":"тoвa зa faviсon има ли си тикет","block_num":"0","conf":"0.30000001192092896"},{"word_num":"0","text":"Nikolav Yankov 10:21 AN","page_num":"0","level":"0","height":"0.00717981238114207","block_num":"0","conf":"0.30000001192092896","left":"0.11773255932605839","top":"0.6060606058895484","par_num":"0","width":"0.053779069413530084","line_num":"0"},{"text":"само ми пИса","block_num":"0","left":"0.1177325573369174","word_num":"0","line_num":"0","level":"0","height":"0.006968641205077342","conf":"0.30000001192092896","page_num":"0","top":"0.6480836236317404","par_num":"0","width":"0.030523257052644776"},{"line_num":"0","level":"0","text":"даже по-дооре да има","top":"0.6968641114502092","page_num":"0","height":"0.007282619080855368","par_num":"0","block_num":"0","conf":"1","left":"0.11627907002945485","width":"0.05377906941353007","word_num":"0"},{"top":"0.7142857147783611","left":"0.11627907259365675","width":"0.05523255530824053","line_num":"0","conf":"1","level":"0","word_num":"0","height":"0.017771701113078797","text":"Lukas Kovalik 10:21AM","block_num":"0","par_num":"0","page_num":"0"},{"conf":"0.5","height":"0.007207597461803772","text":"хуоаво ла направим, доста време ми отнеме и маи тояова с бес така иначе да се види","block_num":"0","left":"0.11627907691646958","level":"0","page_num":"0","top":"0.7384370015438981","par_num":"0","width":"0.2005813679796584","line_num":"0","word_num":"0"},{"top":"0.7595818820544469","page_num":"0","height":"0.010753046002304312","level":"0","line_num":"0","par_num":"0","word_num":"0","left":"0.11627907366496457","width":"0.04941860158392722","block_num":"0","text":"от S3 изглежда идва","conf":"1"},{"width":"0.05668604627568671","par_num":"0","page_num":"0","text":"Nikolay Yankov 10:22 AM","line_num":"0","top":"0.7804878047700857","word_num":"0","block_num":"0","height":"0.013937282410154683","left":"0.11773255926707307","level":"0","conf":"1"},{"height":"0.006968640444571572","top":"0.8048780491156933","conf":"0.5","word_num":"0","level":"0","par_num":"0","text":"интересно","block_num":"0","left":"0.11773255767087878","page_num":"0","line_num":"0","width":"0.024709300791963623"},{"text":"Nikolay Yankov 12:32 PM","conf":"1","top":"0.8221690590544602","level":"0","word_num":"0","page_num":"0","height":"0.017552194793068465","line_num":"0","width":"0.0566860462756867","block_num":"0","left":"0.11773255937818321","par_num":"0"},{"page_num":"0","par_num":"0","top":"0.8429027111461633","word_num":"0","conf":"0.30000001192092896","text":"Пуснах пак перію, а вим какро в написало","width":"0.09447674041098737","left":"0.11773256176381273","block_num":"0","level":"0","line_num":"0","height":"0.007271505048590643"},{"level":"0","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","line_num":"0","block_num":"0","left":"0.11773255516077728","conf":"1","page_num":"0","height":"0.013937282410154683","par_num":"0","word_num":"0","top":"0.864111497935457","width":"0.20203488938351893"},{"conf":"0.5","height":"0.007327075970420038","top":"0.8850174217942274","width":"0.07412789730315512","block_num":"0","left":"0.11627907949754894","word_num":"0","text":"тпябва ли ла го вкапваме p кеш","line_num":"0","page_num":"0","level":"0","par_num":"0"},{"top":"0.8989547046999035","word_num":"0","text":"#::Annd","conf":"0.30000001192092896","block_num":"0","par_num":"0","line_num":"0","level":"0","height":"0.010452960286604362","left":"0.027616278907612524","page_num":"0","width":"0.020348835498728648"},{"par_num":"0","text":"S Jira Cloud","top":"0.9198606275759968","block_num":"0","conf":"0.5","page_num":"0","width":"0.03197674294735524","word_num":"0","height":"0.017421602252187474","left":"0.03343023298627709","level":"0","line_num":"0"},{"height":"0.017766144857452204","left":"0.03343023412519857","top":"0.9407665505780702","width":"0.023255812360885295","text":"® Toast","par_num":"0","word_num":"0","conf":"0.30000001192092896","block_num":"0","level":"0","line_num":"0","page_num":"0"},{"text":"Message Nikolay Yankggv","top":"0.9198606272721964","height":"0.02112820882356148","width":"0.05523255530824052","page_num":"0","line_num":"0","word_num":"0","level":"0","par_num":"0","left":"0.10610465214154484","block_num":"0","conf":"0.5"},{"width":"0.018895348335834256","block_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.10755814010049372","text":"+ Aa","level":"0","height":"0.017680009966641874","line_num":"0","par_num":"0","top":"0.9512195119378624","word_num":"0"},{"level":"0","text":"","left":"0.47674418604651164","word_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.017421602206736386","width":"0.008720929941860467","par_num":"0","line_num":"0","page_num":"0","top":"0.02787456492450635"},{"left":"0.8841422844916293","level":"0","page_num":"0","par_num":"0","block_num":"0","text":"A 10% 8 Mon27 Apr 18:54:59","top":"0.00000000033500369145400555","conf":"0.30000001192092896","height":"0.020905922094220375","word_num":"0","line_num":"0","width":"0.11295074097653657"},{"height":"0.02090592282229975","text":"*","conf":"0.5","top":"0.027874564982578343","par_num":"0","word_num":"0","block_num":"0","width":"0.008720930014534889","page_num":"0","line_num":"0","level":"0","left":"0.8895348839026164"},{"text":"Al reports promotion pages #11998","conf":"1","block_num":"0","height":"0.017421602252187585","line_num":"0","par_num":"0","page_num":"0","level":"0","top":"0.06271777012826163","word_num":"0","left":"0.5029069814629333","width":"0.08284883296236079"},{"par_num":"0","conf":"1","block_num":"0","left":"0.5029069820387471","page_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","top":"0.08362369354010668","level":"0","width":"0.21947674041098741","word_num":"0","height":"0.010475189872145352","line_num":"0"},{"top":"0.10765550223535247","page_num":"0","height":"0.007327075970420038","word_num":"0","block_num":"0","text":"ranoramakeportsrrono ledtures grie nou","width":"0.08720929571922797","level":"0","par_num":"0","line_num":"0","conf":"0.30000001192092896","left":"0.515988370209941"},{"par_num":"0","conf":"0.30000001192092896","level":"0","line_num":"0","block_num":"0","left":"0.6206395320015682","top":"0.10446570957187562","page_num":"0","height":"0.010516868633896892","word_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","width":"0.12936045261139562"},{"conf":"0.30000001192092896","block_num":"0","level":"0","word_num":"0","height":"0.003484320602538671","left":"0.5130813947747878","line_num":"0","top":"0.1254355400369147","text":"oseeis","page_num":"0","par_num":"0","width":"0.024709303328331433"},{"page_num":"0","block_num":"0","text":"added at line 170","line_num":"0","width":"0.04069767099745736","height":"0.017571645490290444","word_num":"0","left":"0.6206395381627619","top":"0.11483253561555695","par_num":"0","conf":"1","level":"0"},{"page_num":"0","level":"0","height":"0.01754385964912275","block_num":"0","par_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","width":"0.1308139435788419","word_num":"0","top":"0.14274322169059017","line_num":"0","left":"0.6206395418231858","conf":"1"},{"conf":"1","par_num":"0","level":"0","width":"0.08720929571922786","line_num":"0","left":"0.5145348893682301","height":"0.017621659395987477","text":"Wording inconsistency (modal vs inline)","top":"0.15311004759362778","word_num":"0","block_num":"0","page_num":"0"},{"block_num":"0","left":"0.6206395362891324","page_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.16724738673389183","word_num":"0","width":"0.027616277654120225","level":"0","text":"as possible.","line_num":"0","height":"0.006968641205077342"},{"par_num":"0","page_num":"0","left":"0.514534888937681","top":"0.1951219515547178","width":"0.08866277654120269","block_num":"0","conf":"0.30000001192092896","level":"0","line_num":"0","text":"nrer compured calling can a second","height":"0.006968640444571461","word_num":"0"},{"width":"0.11482557337334798","top":"0.18815330979979739","word_num":"0","page_num":"0","block_num":"0","text":"Fixed - canManageAiReports extracted as a shared","left":"0.620639539097222","level":"0","conf":"1","height":"0.0175883172991933","line_num":"0","par_num":"0"},{"height":"0.017421602252187474","conf":"1","top":"0.20557491298540453","line_num":"0","word_num":"0","level":"0","page_num":"0","width":"0.023255812360885253","block_num":"0","text":"computed","par_num":"0","left":"0.6220930244397125"},{"level":"0","page_num":"0","par_num":"0","word_num":"0","text":"time","top":"0.20557491302895847","width":"0.011627906180442626","height":"0.017421602252187585","conf":"1","line_num":"0","block_num":"0","left":"0.5145348842644298"},{"page_num":"0","level":"0","conf":"1","top":"0.23344947777831704","par_num":"0","width":"0.08284883296236079","word_num":"0","block_num":"0","height":"0.017746694160230114","left":"0.5159883762736059","line_num":"0","text":"trackInterest endpoint missing rate"},{"line_num":"0","par_num":"0","block_num":"0","left":"0.5145348854641136","width":"0.015988370205493596","page_num":"0","text":"limitina","height":"0.006968640444571461","level":"0","word_num":"0","conf":"1","top":"0.25435540103206966"},{"height":"0.017807823619203744","top":"0.24003189772282119","line_num":"0","level":"0","par_num":"0","word_num":"0","left":"0.6206395358560387","block_num":"0","text":"Still present (see below)","width":"0.05523255530824056","conf":"1","page_num":"0"},{"level":"0","block_num":"0","conf":"1","left":"0.49854651467944094","par_num":"0","page_num":"0","height":"0.017613322731030334","text":"Remaining issues","top":"0.31339712947633447","width":"0.049418601583927246","line_num":"0","word_num":"0"},{"width":"0.10319766592472168","word_num":"0","level":"0","left":"0.500000004738088","par_num":"0","top":"0.34843205595226867","text":". Extra DB query still fires on every page load","page_num":"0","block_num":"0","height":"0.017596652443139016","conf":"0.5","line_num":"0"},{"block_num":"0","conf":"1","top":"0.3763066205923885","height":"0.017632773428252313","page_num":"0","text":"app/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297","width":"0.24709301806510764","line_num":"0","par_num":"0","left":"0.4999999984771364","word_num":"0","level":"0"},{"page_num":"0","line_num":"0","par_num":"0","top":"0.4178628388386477","left":"0.502907000810188","conf":"1","block_num":"0","width":"0.2194767201200445","word_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).","level":"0","height":"0.010708589112739642"},{"conf":"0.5","word_num":"0","width":"0.24127905419532292","page_num":"0","par_num":"0","level":"0","left":"0.5000000072941873","height":"0.017741137904603743","line_num":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","top":"0.45993031375224214","block_num":"0"},{"block_num":"0","conf":"1","line_num":"0","par_num":"0","word_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","level":"0","width":"0.25000000000000006","left":"0.49999999992732563","page_num":"0","top":"0.4773519162821602","height":"0.013937282410154683"},{"text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","top":"0.4912280702286602","par_num":"0","left":"0.5014534918272605","page_num":"0","conf":"1","line_num":"0","height":"0.020967051553193783","block_num":"0","width":"0.24854649888708236","word_num":"0","level":"0"},{"left":"0.5000000058259358","conf":"1","block_num":"0","line_num":"0","text":"ISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as the","par_num":"0","level":"0","width":"0.22819764563377865","top":"0.5119617223575448","page_num":"0","height":"0.010686361048210191","word_num":"0"},{"width":"0.08720930586469933","conf":"0.5","left":"0.5014534853695082","page_num":"0","block_num":"0","top":"0.5606060607314207","level":"0","line_num":"0","height":"0.0073381900026847635","text":"uaaested mitiaations (in order of effort):","word_num":"0","par_num":"0"},{"word_num":"0","page_num":"0","line_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","top":"0.5853269537480064","block_num":"0","level":"0","left":"0.5014534869745092","par_num":"0","width":"0.17587209255137348","height":"0.01754385964912286","conf":"1"},{"text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","width":"0.23982555308240527","top":"0.6027874571526035","left":"0.5058139713227934","height":"0.01762721565161396","level":"0","word_num":"0","conf":"0.5","page_num":"0","block_num":"0","line_num":"0","par_num":"0"},{"block_num":"0","left":"0.5072674434499944","height":"0.007352082923268499","level":"0","line_num":"0","page_num":"0","par_num":"0","top":"0.6267942582824599","width":"0.12354649888708236","text":"transtorm() Is called multiple times in a single response.","conf":"0.5","word_num":"0"},{"block_num":"0","height":"0.017421602252187474","level":"0","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users, set/cleared by the report generation/","conf":"1","top":"0.6376306621143244","par_num":"0","word_num":"0","page_num":"0","width":"0.2558139435788418","left":"0.5000000099048465","line_num":"0"},{"line_num":"0","text":"deletion pipeline — eliminates the querv entirelv.","top":"0.6618819776714514","level":"0","height":"0.0071770334928229484","left":"0.5058139514828719","width":"0.10465116703763921","par_num":"0","word_num":"0","page_num":"0","conf":"1","block_num":"0"},{"page_num":"0","level":"0","block_num":"0","line_num":"0","conf":"0.5","height":"0.013937282410154683","text":"Fix this →","par_num":"0","top":"0.6864111496195452","width":"0.021802323929806966","left":"0.5000000014415185","word_num":"0"},{"top":"0.742160278657975","level":"0","conf":"1","line_num":"0","width":"0.15261627765412034","par_num":"0","word_num":"0","left":"0.5014534903874139","height":"0.017807823619203744","page_num":"0","text":".trackInterest endpoint has no rate limit or idempotency guard","block_num":"0"},{"text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","line_num":"0","top":"0.7722896034177436","width":"0.22823879566598448","page_num":"0","par_num":"0","conf":"1","block_num":"0","height":"0.01525778519479859","level":"0","word_num":"0","left":"0.49997788082196515"},{"level":"0","top":"0.7944250870834626","text":"pi.php:282","line_num":"0","block_num":"0","par_num":"0","page_num":"0","width":"0.02470930332833149","word_num":"0","height":"0.006968641205077342","left":"0.4999999995712994","conf":"0.5"},{"par_num":"0","block_num":"0","width":"0.14534883296236079","height":"0.021122651046923346","level":"0","text":"public function trackInterest(Request srequest): JsonResponse","page_num":"0","conf":"1","top":"0.8325358853529533","left":"0.5029069762911409","word_num":"0","line_num":"0"},{"left":"0.5116279148651706","conf":"0.5","page_num":"0","height":"0.0071770334928229484","level":"0","line_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","width":"0.23255810839064572","par_num":"0","word_num":"0","block_num":"0","top":"0.8604465709728868"},{"par_num":"0","width":"0.25290696164394944","level":"0","word_num":"0","height":"0.010647460414272003","block_num":"0","conf":"1","page_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","top":"0.9266347687970263","left":"0.500000019045948","line_num":"0"},{"top":"0.9407665505780702","word_num":"0","block_num":"0","line_num":"0","page_num":"0","par_num":"0","width":"0.2441860564211581","conf":"1","height":"0.017766144857452204","left":"0.49999999512449644","level":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate"},{"par_num":"0","page_num":"0","top":"0.958188153403523","width":"0.05668604627568663","height":"0.017421602252187474","left":"0.5000000013824143","block_num":"0","conf":"1","level":"0","word_num":"0","line_num":"0","text":"racking noise in analytics."}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4585
|
NULL
|
NULL
|
|
89206
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84<66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++-zsh885100% <7Mon 27 Apr 18:54:59181ec2-user@ip-10-30-95-134:...• ₴6|APP++++++++....
|
[{"level":"0","height": [{"level":"0","height":"0.013953487608167836","conf":"1","width":"0.03633720874786377","text":"iTerm2","top":"0.006976744645528443","line_num":"0","left":"0.033430232229750306","par_num":"0","page_num":"0","word_num":"0","block_num":"0"},{"word_num":"0","text":"Shell Edit View","par_num":"0","block_num":"0","top":"0.004444444444444473","line_num":"0","page_num":"0","height":"0.016666666666666607","width":"0.0872092988755968","conf":"0.5","left":"0.0828488390916055","level":"0"},{"height":"0.013953487608167836","level":"0","par_num":"0","text":"Session","width":"0.034883719020419646","conf":"1","left":"0.18168604790258086","top":"0.0069767444517300214","line_num":"0","page_num":"0","block_num":"0","word_num":"0"},{"text":"Scripts","level":"0","left":"0.2296406737588108","word_num":"0","line_num":"0","block_num":"0","height":"0.014077084859212219","page_num":"0","conf":"0.5","par_num":"0","top":"0.006914945827753649","width":"0.031997723049587645"},{"page_num":"0","par_num":"0","height":"0.014395876990424217","top":"0.0067555497661416775","block_num":"0","word_num":"0","text":"Profiles","width":"0.03350129392411971","level":"0","left":"0.27322028368896356","conf":"1","line_num":"0"},{"word_num":"0","left":"0.31831395315998284","level":"0","page_num":"0","block_num":"0","line_num":"0","top":"0.006976744645528443","conf":"1","par_num":"0","text":"Window","height":"0.013953487608167836","width":"0.03633720874786378"},{"top":"0.006976744474985863","page_num":"0","par_num":"0","height":"0.013953487608167836","line_num":"0","level":"0","word_num":"0","left":"0.36773255878967304","width":"0.02034883631600276","conf":"1","text":"Help","block_num":"0"},{"page_num":"0","left":"0.47529069803997187","level":"0","conf":"1","height":"0.014496124055650483","par_num":"0","top":"0.03666666662527551","text":"APP (-zsh)","width":"0.049418603049384224","block_num":"0","word_num":"0","line_num":"0"},{"word_num":"0","conf":"1","par_num":"0","width":"0.03488371902041965","level":"0","text":"DOCKER","left":"0.050872094365759145","block_num":"0","page_num":"0","height":"0.013953487608167947","top":"0.06511627921917185","line_num":"0"},{"word_num":"0","top":"0.06744186045818157","line_num":"0","level":"0","page_num":"0","par_num":"0","conf":"0.30000001192092896","width":"0.01017441815800138","left":"0.14680232584832487","block_num":"0","text":"881","height":"0.011627907223171752"},{"conf":"1","level":"0","line_num":"0","left":"0.2107558135640147","page_num":"0","text":"DEV (docker)","top":"0.0674418609589309","height":"0.011627906163533597","block_num":"0","par_num":"0","word_num":"0","width":"0.05087209277682833"},{"height":"0.011627907223171752","word_num":"0","level":"0","text":"₴82","line_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.06744186045818157","left":"0.30813953472970373","page_num":"0","width":"0.014534884028964579","block_num":"0"},{"conf":"0.5","left":"0.3793604658741403","width":"0.040697672632005466","block_num":"0","top":"0.0674418609589309","level":"0","par_num":"0","word_num":"0","text":"APP (-zsh)","page_num":"0","line_num":"0","height":"0.011627906163533597"},{"width":"0.013081394301520444","level":"0","word_num":"0","height":"0.013953487608167947","conf":"0.30000001192092896","top":"0.06511627921917185","page_num":"0","line_num":"0","left":"0.47238372128431727","par_num":"0","text":"83","block_num":"0"},{"height":"0.014420836766560807","block_num":"0","level":"0","line_num":"0","page_num":"0","par_num":"0","left":"0.5348576004786272","word_num":"0","conf":"0.5","text":"screenpipe\"","top":"0.0648826047097042","width":"0.048017358779907204"},{"conf":"1","level":"0","left":"0.008720942522972407","height":"0.016279069052802186","line_num":"0","page_num":"0","par_num":"0","text":"front-end/src/components/AiReports/Manage/__tests_","width":"0.2790697521633572","word_num":"0","top":"0.09069767473716484","block_num":"0"},{"level":"0","top":"0.0906976745315402","left":"0.2863372117089401","text":"_/ManageAiReports.spec.js","block_num":"0","width":"0.14098837110731333","par_num":"0","height":"0.01860465155707458","page_num":"0","conf":"1","line_num":"0","word_num":"0"},{"line_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","page_num":"0","block_num":"0","conf":"1","left":"0.00872094763883828","height":"0.016279069052802186","level":"0","par_num":"0","width":"0.44622090657552077","top":"0.1093023258515059","word_num":"0"},{"left":"0.008720945815069964","top":"0.13023255838057568","conf":"1","word_num":"0","par_num":"0","block_num":"0","line_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","width":"0.5232557932535807","page_num":"0","level":"0","height":"0.016279069052802186"},{"top":"0.1488372093377417","level":"0","width":"0.6002906799316406","par_num":"0","word_num":"0","height":"0.018604651557074692","block_num":"0","page_num":"0","conf":"1","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","line_num":"0","left":"0.00872092909910249"},{"text":"front-end/src/components/AiReports/constants.js","line_num":"0","par_num":"0","height":"0.018604651557074692","word_num":"0","block_num":"0","conf":"1","left":"0.008720941327598099","page_num":"0","top":"0.16976744197340066","width":"0.26308138105604384","level":"0"},{"width":"0.4127906799316406","word_num":"0","left":"0.008720944627202777","level":"0","line_num":"0","conf":"1","height":"0.01860465155707458","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","top":"0.18837209251603637","page_num":"0","block_num":"0"},{"page_num":"0","width":"0.4069767422146267","top":"0.20930232526797432","word_num":"0","conf":"1","left":"0.008720936305477206","block_num":"0","level":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","height":"0.01860465155707458","par_num":"0","line_num":"0"},{"level":"0","page_num":"0","word_num":"0","height":"0.016279069052802186","line_num":"0","top":"0.2302325584096454","block_num":"0","conf":"1","left":"0.00872093223776006","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","width":"0.35755814446343315"},{"width":"0.35174418555365666","left":"0.008720934875787774","word_num":"0","par_num":"0","page_num":"0","block_num":"0","line_num":"0","top":"0.2488372089889045","conf":"1","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","height":"0.018604651557074692","level":"0"},{"text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","conf":"1","height":"0.01860465155707458","page_num":"0","line_num":"0","level":"0","left":"0.008720937779436768","top":"0.26976744154704413","width":"0.4854651133219401","par_num":"0","block_num":"0","word_num":"0"},{"par_num":"0","block_num":"0","line_num":"0","level":"0","conf":"1","height":"0.016279069052802075","left":"0.008720939940422036","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","top":"0.29069767465964547","width":"0.3793604532877604","word_num":"0","page_num":"0"},{"width":"0.3851743910047743","word_num":"0","level":"0","conf":"1","par_num":"0","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","top":"0.3093023252679743","line_num":"0","left":"0.008720948847176679","height":"0.01860465155707458","block_num":"0"},{"conf":"1","width":"0.27180230882432727","top":"0.3325581400286983","height":"0.011627906163533597","line_num":"0","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","word_num":"0","left":"0.01017442358565618","block_num":"0","level":"0","par_num":"0"},{"conf":"0.5","height":"0.013953487608167836","left":"0.2805232549080388","top":"0.3325581400718851","word_num":"0","par_num":"0","line_num":"0","block_num":"0","text":"__mocks__/nudges.js","page_num":"0","level":"0","width":"0.1061046494377984"},{"height":"0.01860465155707458","page_num":"0","width":"0.4622092776828342","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","conf":"1","left":"0.008720944988524652","level":"0","block_num":"0","par_num":"0","word_num":"0","top":"0.3488372088726255"},{"height":"0.01860465155707458","level":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","page_num":"0","line_num":"0","block_num":"0","conf":"1","par_num":"0","top":"0.3697674416633232","width":"0.3183139377170139","word_num":"0","left":"0.008720943423469624"},{"block_num":"0","left":"0.008720939432180469","page_num":"0","par_num":"0","top":"0.3883720938223495","width":"0.31540696885850694","conf":"1","level":"0","height":"0.020930230882432732","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","word_num":"0"},{"line_num":"0","page_num":"0","width":"0.2790697521633572","word_num":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","level":"0","left":"0.32994186531367026","block_num":"0","height":"0.018604651557074692","conf":"1","par_num":"0","top":"0.36976744175634635"},{"line_num":"0","page_num":"0","block_num":"0","height":"0.01860465155707458","conf":"1","width":"0.25145348442925347","top":"0.3883720925160363","left":"0.329941858342544","word_num":"0","level":"0","par_num":"0","text":"/__snapshots__/saved-search-modal.output.html"},{"top":"0.4093023252679743","text":"front-end/src/components/shared/SavedSearchModal/config.js","width":"0.32412789662679037","conf":"1","line_num":"0","height":"0.018604651557074692","page_num":"0","block_num":"0","left":"0.008720939459133782","level":"0","par_num":"0","word_num":"0"},{"page_num":"0","conf":"1","left":"0.008720945245547382","level":"0","top":"0.4302325583805757","block_num":"0","width":"0.36773253546820744","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","word_num":"0","height":"0.016279069052802075","line_num":"0","par_num":"0"},{"par_num":"0","level":"0","height":"0.01860465155707458","block_num":"0","width":"0.4854651133219401","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","line_num":"0","top":"0.4488372090276642","conf":"1","left":"0.008720939802207934","page_num":"0"},{"left":"0.007267450825504717","par_num":"0","width":"0.49709298875596786","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","conf":"1","page_num":"0","word_num":"0","line_num":"0","top":"0.4697674423340641","level":"0","block_num":"0","height":"0.016279069052802075"},{"level":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","par_num":"0","page_num":"0","left":"0.008720936961676194","conf":"1","word_num":"0","width":"0.245639525519477","height":"0.016279069052802186","line_num":"0","block_num":"0","top":"0.49069767467902525"},{"line_num":"0","height":"0.01860465155707458","left":"0.008720940809666643","page_num":"0","conf":"1","level":"0","par_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","block_num":"0","top":"0.509302325306734","word_num":"0","width":"0.3241278966267904"},{"word_num":"0","conf":"1","height":"0.016279069052802186","page_num":"0","par_num":"0","top":"0.5302325584096454","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","block_num":"0","line_num":"0","left":"0.008720944263830709","level":"0","width":"0.4127906799316406"},{"top":"0.548837209182703","left":"0.007267443399245208","page_num":"0","par_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","conf":"1","level":"0","width":"0.3808139377170139","word_num":"0","height":"0.018604651557074692","line_num":"0","block_num":"0"},{"text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","par_num":"0","top":"0.5697674415470441","conf":"1","height":"0.018604651557074692","left":"0.00872094066747218","level":"0","line_num":"0","page_num":"0","block_num":"0","width":"0.26308138105604384","word_num":"0"},{"page_num":"0","conf":"1","block_num":"0","height":"0.016279069052802297","left":"0.008720935081112163","top":"0.5906976748922036","word_num":"0","par_num":"0","line_num":"0","level":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","width":"0.2790697521633572"},{"width":"0.40697674221462665","word_num":"0","block_num":"0","page_num":"0","line_num":"0","par_num":"0","left":"0.008720935288035392","level":"0","height":"0.018604651557074692","conf":"1","top":"0.6093023252912301","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php"},{"page_num":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","par_num":"0","top":"0.630232558174951","width":"0.3735465155707466","conf":"1","level":"0","left":"0.008720932494423177","line_num":"0","height":"0.018604651557074692","block_num":"0","word_num":"0"},{"word_num":"0","level":"0","width":"0.3575581444634332","par_num":"0","conf":"1","block_num":"0","left":"0.008720925345802873","page_num":"0","height":"0.018604651557074692","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","top":"0.6488372087951062","line_num":"0"},{"text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","level":"0","page_num":"0","block_num":"0","left":"0.008720930055878897","conf":"1","line_num":"0","par_num":"0","top":"0.6674418601201179","height":"0.023669251335991737","width":"0.30668604109022357","word_num":"0"},{"width":"0.06666666666666665","left":"0.30000000013888894","block_num":"0","conf":"0.30000001192092896","line_num":"0","par_num":"0","top":"0.64","text":"rtarest. php","word_num":"0","height":"0.053333333333333344","page_num":"0","level":"0"},{"top":"0.6906976746596454","width":"0.45784882439507385","block_num":"0","word_num":"0","par_num":"0","page_num":"0","conf":"1","level":"0","left":"0.008720943324406762","line_num":"0","height":"0.016279069052802186","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php"},{"word_num":"0","width":"0.43459303114149306","block_num":"0","page_num":"0","line_num":"0","conf":"1","level":"0","height":"0.019018088446723147","left":"0.008720919944754178","par_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","top":"0.7088888885350363"},{"height":"0.046666666666666634","line_num":"0","page_num":"0","text":"fonitrn/esComedad.ron,.php","conf":"0.30000001192092896","block_num":"0","level":"0","left":"0.3208333309027779","par_num":"0","width":"0.14583333333333337","top":"0.6866666667777778","word_num":"0"},{"block_num":"0","level":"0","line_num":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","height":"0.01666666666666672","word_num":"0","left":"0.008720931874829398","top":"0.73","page_num":"0","par_num":"0","conf":"1","width":"0.4186046600341797"},{"left":"0.008720944031500208","level":"0","top":"0.7488372099361025","height":"0.0189405674404568","page_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","width":"0.5188953399658203","word_num":"0","par_num":"0","block_num":"0","conf":"1","line_num":"0"},{"top":"0.769767441714528","width":"0.556686019897461","word_num":"0","conf":"1","page_num":"0","par_num":"0","left":"0.00872094292957427","level":"0","line_num":"0","block_num":"0","height":"0.01912144766913515","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php"},{"line_num":"0","left":"0.008720950932465657","page_num":"0","word_num":"0","block_num":"0","level":"0","conf":"1","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","height":"0.018604651557074692","top":"0.7883720927330905","width":"0.5232557932535807"},{"left":"0.008720932168461499","line_num":"0","height":"0.019018088446723147","block_num":"0","page_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","top":"0.8088888884187573","level":"0","conf":"1","par_num":"0","width":"0.5130814022488065","word_num":"0"},{"width":"0.5901162889268663","par_num":"0","left":"0.00872093066119501","word_num":"0","line_num":"0","level":"0","height":"0.018888888888888955","conf":"1","block_num":"0","page_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","top":"0.83"},{"block_num":"0","height":"0.0189405674404568","par_num":"0","line_num":"0","left":"0.00872093066119501","conf":"1","top":"0.8488372098663348","page_num":"0","level":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","width":"0.5901162889268663","word_num":"0"},{"par_num":"0","left":"0.00872095191817562","page_num":"0","line_num":"0","block_num":"0","height":"0.016279069052802186","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","top":"0.8697674421015059","width":"0.6017441643608942","conf":"1","level":"0","word_num":"0"},{"word_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","conf":"1","left":"0.008720941480167237","line_num":"0","level":"0","page_num":"0","width":"0.5188953399658204","top":"0.8906976746596453","block_num":"0","height":"0.016279069052802186","par_num":"0"},{"block_num":"0","conf":"1","height":"0.019018088446723036","page_num":"0","par_num":"0","word_num":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","level":"0","width":"0.5130813598632812","top":"0.9088888883993775","line_num":"0","left":"0.008720965718114076"},{"top":"0.93","word_num":"0","width":"0.4796511332194011","par_num":"0","page_num":"0","level":"0","conf":"1","left":"0.008720959803854693","line_num":"0","height":"0.016666666666666607","block_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php"},{"left":"0.008720958818144888","word_num":"0","page_num":"0","height":"0.0189405674404568","block_num":"0","line_num":"0","par_num":"0","top":"0.9488372099361024","width":"0.4636627621120876","conf":"1","level":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php"},{"word_num":"0","page_num":"0","left":"0.004360485232488721","conf":"1","level":"0","top":"0.9674418601201177","block_num":"0","line_num":"0","height":"0.02144702911376961","par_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","width":"0.5348837110731336"},{"block_num":"0","height":"0.013953487608167836","text":"O 84","line_num":"0","conf":"0.30000001192092896","top":"0.06511627927731145","left":"0.6250000001737047","word_num":"0","level":"0","width":"0.024709301524692084","par_num":"0","page_num":"0"},{"text":"<","height":"0.018604650542635714","width":"0.010174418265503915","page_num":"0","block_num":"0","top":"0.00465116294573642","word_num":"0","level":"0","par_num":"0","line_num":"0","conf":"0.30000001192092896","left":"0.6845930235949612"},{"word_num":"0","line_num":"0","conf":"1","top":"0.09069767487808655","width":"0.01453488270441694","page_num":"0","height":"0.013953487608167947","text":"66","block_num":"0","level":"0","par_num":"0","left":"0.651162790963683"},{"block_num":"0","word_num":"0","page_num":"0","line_num":"0","height":"0.011627906163533486","level":"0","par_num":"0","top":"0.09302325610427975","text":"++++","width":"0.024709301524692084","conf":"1","left":"0.668604651975057"},{"page_num":"0","left":"0.6511627914915763","par_num":"0","text":"23 +-","top":"0.1088888889538393","height":"0.01669250594245064","line_num":"0","level":"0","width":"0.03052325513627796","block_num":"0","conf":"1","word_num":"0"},{"word_num":"0","left":"0.6511627904273781","par_num":"0","height":"0.016279069052802186","text":"20","width":"0.014534884028964634","top":"0.130232558334064","conf":"1","level":"0","line_num":"0","block_num":"0","page_num":"0"},{"height":"0.011627906163533486","conf":"0.5","page_num":"0","par_num":"0","text":"+-","level":"0","top":"0.13255813982521003","block_num":"0","line_num":"0","left":"0.6686046519044723","width":"0.013081394301520444","word_num":"0"},{"top":"0.15116279116279063","word_num":"0","level":"0","width":"0.007267441618217019","line_num":"0","page_num":"0","height":"0.013953487906976814","conf":"1","block_num":"0","par_num":"0","text":"4","left":"0.658430232751938"},{"par_num":"0","height":"0.011627906163533486","left":"0.6686046510880266","level":"0","text":"+-","top":"0.15348837269342708","width":"0.01162790722317164","word_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","block_num":"0"},{"block_num":"0","height":"0.013953487608167947","left":"0.6584302333351134","par_num":"0","text":"7 +","conf":"0.30000001192092896","page_num":"0","top":"0.16976744216490824","line_num":"0","width":"0.01889534791310632","level":"0","word_num":"0"},{"height":"0.013953487608167836","level":"0","page_num":"0","block_num":"0","top":"0.19069767472304788","par_num":"0","conf":"0.5","word_num":"0","line_num":"0","width":"0.01889534791310632","text":"1 +","left":"0.6584302333351134"},{"par_num":"0","top":"0.20930232582243613","word_num":"0","block_num":"0","level":"0","left":"0.6511627914570022","text":"24","width":"0.015988371107313437","conf":"1","page_num":"0","line_num":"0","height":"0.016279069052802186"},{"text":"+-","conf":"0.5","page_num":"0","top":"0.21395348820707683","width":"0.010174418158001464","line_num":"0","word_num":"0","height":"0.009302325778537401","level":"0","left":"0.6700581396855341","par_num":"0","block_num":"0"},{"top":"0.23023255863777647","width":"0.01453488270441694","line_num":"0","height":"0.013953487608167947","level":"0","word_num":"0","page_num":"0","left":"0.6511627910242451","block_num":"0","conf":"1","par_num":"0","text":"10"},{"height":"0.01671834627787272","block_num":"0","left":"0.6584302327537183","page_num":"0","par_num":"0","word_num":"0","width":"0.01889534791310632","level":"0","line_num":"0","top":"0.2488372092900042","conf":"0.5","text":"5 +"},{"height":"0.013953487608167836","word_num":"0","left":"0.646802325807255","par_num":"0","text":"170","top":"0.26976744235870675","width":"0.01889534791310621","block_num":"0","level":"0","line_num":"0","conf":"1","page_num":"0"},{"block_num":"0","width":"0.01453488270441694","word_num":"0","conf":"1","line_num":"0","height":"0.013953487608167836","level":"0","par_num":"0","left":"0.651162790963683","text":"18","page_num":"0","top":"0.2906976748780866"},{"page_num":"0","block_num":"0","height":"0.01860465155707458","left":"0.651162791205931","width":"0.01453488270441694","word_num":"0","par_num":"0","conf":"1","level":"0","line_num":"0","top":"0.3093023256168115","text":"16"},{"block_num":"0","left":"0.6686046517106738","height":"0.011627906163533486","conf":"0.30000001192092896","width":"0.013081394301520444","level":"0","line_num":"0","page_num":"0","text":"+-","word_num":"0","par_num":"0","top":"0.31395348897249686"},{"text":"62","level":"0","page_num":"0","height":"0.01860465155707458","par_num":"0","line_num":"0","conf":"1","word_num":"0","top":"0.3488372088726255","left":"0.6482558143219299","width":"0.017441859510209934","block_num":"0"},{"page_num":"0","height":"0.013953487608167836","conf":"1","text":"942","width":"0.01889534791310621","word_num":"0","par_num":"0","level":"0","block_num":"0","left":"0.646802325807255","line_num":"0","top":"0.36976744235870673"},{"height":"0.013953487608167947","level":"0","text":"942","conf":"1","left":"0.646802325807255","top":"0.39069767491684626","width":"0.01889534791310621","line_num":"0","block_num":"0","par_num":"0","word_num":"0","page_num":"0"},{"page_num":"0","width":"0.01453488270441694","par_num":"0","conf":"1","left":"0.6511627910605823","line_num":"0","height":"0.016279069052802186","text":"21","top":"0.4093023256673973","word_num":"0","block_num":"0","level":"0"},{"left":"0.6511627906082568","par_num":"0","conf":"1","text":"33","top":"0.43023255805747485","width":"0.014534884028964523","word_num":"0","line_num":"0","page_num":"0","height":"0.016279070112440452","level":"0","block_num":"0"},{"height":"0.011627906163533486","level":"0","conf":"1","left":"0.6700581403030346","par_num":"0","block_num":"0","text":"+++","word_num":"0","page_num":"0","line_num":"0","top":"0.3534883723833495","width":"0.017441859510209823"},{"top":"0.06744186098800065","conf":"0.5","height":"0.011627906163533597","page_num":"0","left":"0.7194767443728021","par_num":"0","text":"-zsh","width":"0.017441859510209823","block_num":"0","line_num":"0","word_num":"0","level":"0"},{"par_num":"0","block_num":"0","top":"0.0674418609589309","text":"885","word_num":"0","line_num":"0","left":"0.7994186049777334","height":"0.011627906163533597","level":"0","width":"0.01453488270441694","conf":"0.30000001192092896","page_num":"0"},{"height":"0.014181681738959395","top":"0.0068626474102171375","conf":"0.30000001192092896","block_num":"0","level":"0","left":"0.8168458269716159","par_num":"0","page_num":"0","text":"100% <7","word_num":"0","width":"0.04218044016096334","line_num":"0"},{"height":"0.014444444444444371","par_num":"0","level":"0","line_num":"0","word_num":"0","block_num":"0","top":"0.00666666666666671","page_num":"0","width":"0.09738372166951492","conf":"1","text":"Mon 27 Apr 18:54:59","left":"0.8909883701829538"},{"par_num":"0","text":"181","word_num":"0","level":"0","line_num":"0","top":"0.034883721195916095","page_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.013953487608167836","left":"0.9723837216312426","width":"0.020348836316002705"},{"par_num":"0","page_num":"0","height":"0.011627906163533597","width":"0.11046511332194009","conf":"1","block_num":"0","left":"0.8372093056452314","level":"0","line_num":"0","text":"ec2-user@ip-10-30-95-134:...","top":"0.06744186083296189","word_num":"0"},{"block_num":"0","conf":"0.30000001192092896","line_num":"0","left":"0.9534883728710178","level":"0","par_num":"0","height":"0.013953487608167836","width":"0.024709301524692084","word_num":"0","top":"0.06511627933545094","page_num":"0","text":"• ₴6|"},{"line_num":"0","page_num":"0","conf":"0.30000001192092896","height":"0.08372093200683584","left":"0.8517441851046192","level":"0","width":"0.1395348866780599","top":"0.14651162689461428","par_num":"0","block_num":"0","text":"APP","word_num":"0"},{"conf":"0.30000001192092896","page_num":"0","level":"0","text":"++++","par_num":"0","block_num":"0","left":"0.6686046489065398","line_num":"0","top":"0.4511627900808629","width":"0.013081399599711108","word_num":"0","height":"0.0813953484429254"},{"line_num":"0","word_num":"0","text":"++","width":"0.011627907223171752","page_num":"0","block_num":"0","conf":"1","height":"0.013953488667805991","left":"0.6700581393147707","level":"0","par_num":"0","top":"0.5325581392707482"},{"conf":"0.30000001192092896","block_num":"0","line_num":"0","par_num":"0","text":"++.","height":"0.01162790722317164","width":"0.013081395626068137","top":"0.6116279067372514","left":"0.6700581393235938","level":"0","page_num":"0","word_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3844
|
NULL
|
NULL
|
|
89207
|
HomeActivityLaterMoreSlackVIewMistonWindowHelpQ De HomeActivityLaterMoreSlackVIewMistonWindowHelpQ Describe what you are looking forJiminny...yNikolay Yankov@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsic backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga nlattorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the people of iimi..• Messagest Add canvas( FilesОткрих, че този контролер се грижи за обикновените странициFriday. April 24th~https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2435789cddf693/app/Http/Controllers/FrontendControllerTrait.php#L122но при други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/puottc/atmunny_c.ongLukas Kovalik 2:41 PMще го погледнаNikolay Yankov 2:41 PMNikolav Yankov 7.41 PMЛукас, за понеделник, виж коментара от Claudehttps://github.com/jiminny/app/pull/11998Todayvlukas Kovalik 10-20 AMнаправих една малка промяна в крайна сметка, комитнах гоNikolay Yankov 10:20 AMA Direct messagesP Galya DimitrovaF. Aneliya Angelova€. Vasil Vasilev3 Aneliya Angelova,...P. Nikolay YankovC. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela DurevaLukas Kovallk 10-20 AMтoвa зa faviсon има ли си тикетNikolav Yankov 10:21 AMсамо ми писадаже по-дооре да имаLukas Kovalik 10:21AMхуоаво ла направим, доста време ми отнеме и маи тояова с бес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMинтересноNikolay Yankov 12:32 PMПуснах пак перію, а вим какро в написалоїтова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?тпябва ли ла го вкапваме в кеш#::AnndS Jira Cloud® ToastНики поглелнах по comment on claude. По принцип е прав ако има клиент сьс+ Aaщ4@ п 100%4 8 Mon27 Apr 18:55:30*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono ledtures grie nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftransform() is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports columnto users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"page_num":"0","par_num" [{"page_num":"0","par_num":"0","conf":"1","text":"Home","height":"0.013937282410154683","level":"0","top":"0.13588850153592147","width":"0.011627906180442649","block_num":"0","left":"0.0058139540803213065","word_num":"0","line_num":"0"},{"page_num":"0","top":"0.24390243911780862","line_num":"0","left":"0.004360465697692593","level":"0","conf":"1","par_num":"0","width":"0.014534883042599294","text":"Activity","word_num":"0","block_num":"0","height":"0.017421602252187585"},{"text":"Later","conf":"1","level":"0","word_num":"0","top":"0.3519163764000386","par_num":"0","height":"0.017421602252187585","page_num":"0","block_num":"0","left":"0.005813953768543167","width":"0.010174418383456292","line_num":"0"},{"left":"0.0058139540803213065","line_num":"0","par_num":"0","height":"0.013937282410154683","page_num":"0","word_num":"0","text":"More","top":"0.407665505020242","level":"0","conf":"1","block_num":"0","width":"0.011627906180442649"},{"left":"0.015988372286839896","page_num":"0","width":"0.01453488304259929","height":"0.017421602252187585","word_num":"0","conf":"1","top":"-0.00000000002272559918026218","line_num":"0","level":"0","par_num":"0","block_num":"0","text":"Slack"},{"conf":"0.30000001192092896","level":"0","left":"0.06395348841001604","text":"VIew","block_num":"0","top":"0.00696864102015915","height":"0.006968641205077342","par_num":"0","width":"0.010174418383456299","word_num":"0","page_num":"0","line_num":"0"},{"text":"Miston","left":"0.09302325755713681","level":"0","line_num":"0","width":"0.01598837020549368","height":"0.006968640444571461","top":"0.006968641450188162","par_num":"0","word_num":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896"},{"word_num":"0","line_num":"0","page_num":"0","conf":"1","block_num":"0","top":"-0.00000000002272559918026218","height":"0.017421602252187585","width":"0.01744185990475594","left":"0.11482558143328095","par_num":"0","level":"0","text":"Window"},{"level":"0","conf":"1","par_num":"0","page_num":"0","text":"Help","height":"0.017421602252187585","left":"0.13808139533831065","block_num":"0","line_num":"0","top":"-0.00000000002272559918026218","word_num":"0","width":"0.010174418383456285"},{"text":"Q Describe what you are looking for","level":"0","line_num":"0","top":"0.027874564683673886","word_num":"0","page_num":"0","height":"0.017579980634236048","block_num":"0","conf":"1","left":"0.14098837474722473","par_num":"0","width":"0.07267441648118039"},{"left":"0.027616278692204954","conf":"0.30000001192092896","par_num":"0","block_num":"0","page_num":"0","text":"Jiminny...y","line_num":"0","level":"0","height":"0.010452961047110243","top":"0.06968641154961563","width":"0.036337208240590196","word_num":"0"},{"left":"0.113372094092083","block_num":"0","par_num":"0","height":"0.021014286570571916","top":"0.06271777048382365","conf":"0.5","text":"Nikolay Yankov","level":"0","page_num":"0","line_num":"0","width":"0.05377906941353007","word_num":"0"},{"line_num":"0","block_num":"0","height":"0.010452960286604362","level":"0","conf":"0.5","text":"@ jiminny-x-integrati","top":"0.09407665591941561","page_num":"0","width":"0.04941860158392724","left":"0.03343023162082732","par_num":"0","word_num":"0"},{"block_num":"0","page_num":"0","text":"& platform-inner-team","top":"0.11483253574621899","level":"0","conf":"0.5","left":"0.03343023206285708","par_num":"0","width":"0.05377906941353006","height":"0.017571645490290444","line_num":"0","word_num":"0"},{"conf":"0.30000001192092896","line_num":"0","top":"0.14274322169059017","width":"0.029069766085198585","height":"0.01754385964912275","page_num":"0","text":"© Channels","left":"0.029069768796061723","word_num":"0","level":"0","block_num":"0","par_num":"0"},{"top":"0.16673966325440914","height":"0.01843704941550317","left":"0.0333854731523376","conf":"1","line_num":"0","block_num":"0","text":"# ai-chapter","word_num":"0","page_num":"0","level":"0","par_num":"0","width":"0.03351975248215046"},{"height":"0.01758831577818165","text":"# alerts","page_num":"0","par_num":"0","top":"0.18815331079259123","word_num":"0","left":"0.033430233468533056","level":"0","width":"0.021802323929806973","line_num":"0","block_num":"0","conf":"0.5"},{"block_num":"0","line_num":"0","page_num":"0","left":"0.03343023381885928","width":"0.027616277654120266","conf":"0.30000001192092896","par_num":"0","text":"ic backend","word_num":"0","height":"0.007257612128006796","top":"0.2160278744399171","level":"0"},{"conf":"0.5","left":"0.033430233663020295","width":"0.045058138827060126","height":"0.017746694160230114","text":"# confusion-clinic","line_num":"0","block_num":"0","level":"0","page_num":"0","par_num":"0","word_num":"0","top":"0.23344947777831704"},{"page_num":"0","block_num":"0","line_num":"0","text":"# curiosity_lab","conf":"1","level":"0","par_num":"0","left":"0.03343023341543612","top":"0.25757575757575757","width":"0.037790696671668525","word_num":"0","height":"0.014354066985645897"},{"text":"# engineering","level":"0","height":"0.017421602252187585","page_num":"0","par_num":"0","block_num":"0","top":"0.2787456450411536","width":"0.03633720824059019","word_num":"0","line_num":"0","left":"0.03343023248338709","conf":"1"},{"block_num":"0","page_num":"0","conf":"0.5","left":"0.03343023460359518","level":"0","line_num":"0","text":"# generall","top":"0.3030303029362562","width":"0.026162789223041938","height":"0.010558546635142552","par_num":"0","word_num":"0"},{"par_num":"0","left":"0.033430233678823834","line_num":"0","conf":"1","level":"0","block_num":"0","height":"0.017699459142852314","text":"# infra-changes","top":"0.3237639551848104","width":"0.04069767353382517","word_num":"0","page_num":"0"},{"block_num":"0","page_num":"0","text":"# jiminny-bg","left":"0.03343023267189024","top":"0.3449477351689121","word_num":"0","width":"0.03343023137843355","conf":"1","line_num":"0","level":"0","par_num":"0","height":"0.017421602252187474"},{"par_num":"0","left":"0.03343023160068563","top":"0.3728222995949062","line_num":"0","conf":"0.30000001192092896","width":"0.04360465293234968","level":"0","page_num":"0","text":"a nlattorm-nckets","block_num":"0","word_num":"0","height":"0.006968641205077342"},{"height":"0.01771335206343605","conf":"1","page_num":"0","word_num":"0","par_num":"0","line_num":"0","top":"0.3899521529042582","level":"0","left":"0.03343023562535342","block_num":"0","text":"# product_launches","width":"0.04941860158392724"},{"width":"0.026162789223041945","text":"# random","par_num":"0","word_num":"0","height":"0.010452960286604362","top":"0.41463414720861425","conf":"1","block_num":"0","left":"0.033430231987316365","line_num":"0","page_num":"0","level":"0"},{"height":"0.017554973681387476","page_num":"0","par_num":"0","top":"0.4354066984462488","left":"0.033430233971852706","text":"# releases","width":"0.02761627765412026","level":"0","word_num":"0","conf":"1","line_num":"0","block_num":"0"},{"page_num":"0","left":"0.03343023258555416","top":"0.45614035056563407","height":"0.017727244984020007","text":"# sofia-office","level":"0","block_num":"0","line_num":"0","conf":"1","word_num":"0","par_num":"0","width":"0.034883719809511875"},{"text":"# support","word_num":"0","conf":"0.5","height":"0.013937282410154683","line_num":"0","top":"0.48083623672755915","width":"0.027616277654120266","level":"0","block_num":"0","left":"0.033430233969918705","page_num":"0","par_num":"0"},{"left":"0.0334302336998952","conf":"1","par_num":"0","line_num":"0","level":"0","width":"0.03488371980951188","height":"0.017568866601971322","top":"0.5015948961656965","block_num":"0","page_num":"0","text":"# thank-yous","word_num":"0"},{"line_num":"0","block_num":"0","top":"0.5261324048886707","width":"0.053779064340794346","page_num":"0","level":"0","height":"0.010550210730691068","par_num":"0","word_num":"0","conf":"0.30000001192092896","left":"0.033430238362816646","text":"# the people of iimi.."},{"height":"0.01059744650857486","width":"0.024709300791963637","line_num":"0","left":"0.10465116432315079","top":"0.10104529652728955","text":"• Messages","par_num":"0","conf":"1","page_num":"0","level":"0","word_num":"0","block_num":"0"},{"conf":"0.5","par_num":"0","height":"0.01769390136621407","text":"t Add canvas","top":"0.09728867634316152","width":"0.031976742947355224","left":"0.13517441889894646","word_num":"0","page_num":"0","level":"0","line_num":"0","block_num":"0"},{"text":"( Files","block_num":"0","height":"0.01059744650857497","par_num":"0","line_num":"0","width":"0.018895347067650337","conf":"0.30000001192092896","word_num":"0","level":"0","left":"0.17005814136443054","top":"0.10104529678861351","page_num":"0"},{"page_num":"0","conf":"1","block_num":"0","par_num":"0","height":"0.011164274322169043","text":"Открих, че този контролер се грижи за обикновените страници","top":"0.1355661881977671","word_num":"0","level":"0","line_num":"0","width":"0.14970928557375646","left":"0.11627908695770002"},{"block_num":"0","word_num":"0","page_num":"0","top":"0.1323763954902536","level":"0","left":"0.2776162784218681","line_num":"0","width":"0.039244185102746854","text":"Friday. April 24th~","conf":"0.5","height":"0.010480746888277825","par_num":"0"},{"page_num":"0","word_num":"0","conf":"1","height":"0.017421602252187474","level":"0","left":"0.11627907748053581","block_num":"0","par_num":"0","text":"https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2435789cddf693/app/Http/Controllers/FrontendControllerTrait.php#L122","top":"0.14982578406554392","width":"0.32122092551373416","line_num":"0"},{"top":"0.18102073365231264","word_num":"0","block_num":"0","page_num":"0","text":"но при други не знам точно как става и от кьде го взима","conf":"1","par_num":"0","height":"0.0071770334928229484","level":"0","left":"0.11773255782586003","line_num":"0","width":"0.1308139537243133"},{"word_num":"0","line_num":"0","block_num":"0","height":"0.011164274322169154","par_num":"0","text":"та Галя ми писа да го видим","width":"0.0668604576841314","level":"0","page_num":"0","top":"0.20175438596491224","conf":"0.5","left":"0.1162790771779641"},{"word_num":"0","text":"доколкото виждам, тази трябва да е окей иконата","page_num":"0","block_num":"0","level":"0","par_num":"0","top":"0.22299651577286095","height":"0.017421602252187474","conf":"1","width":"0.11918604627568673","line_num":"0","left":"0.11627907224482441"},{"block_num":"0","line_num":"0","par_num":"0","text":"atminny/app/puottc/atmunny_c.ong","level":"0","width":"0.07848837020549368","left":"0.11773255915597408","top":"0.2473867595432866","word_num":"0","conf":"0.30000001192092896","page_num":"0","height":"0.006968641205077342"},{"block_num":"0","page_num":"0","height":"0.014354066985645897","word_num":"0","text":"Lukas Kovalik 2:41 PM","par_num":"0","conf":"1","top":"0.2647527910685805","left":"0.11773256085283156","width":"0.04941860158392723","level":"0","line_num":"0"},{"text":"ще го погледна","conf":"1","par_num":"0","word_num":"0","line_num":"0","page_num":"0","block_num":"0","left":"0.11773255916334271","top":"0.3066202088178729","height":"0.013953954219057652","width":"0.03779069667166851","level":"0"},{"conf":"1","left":"0.11773256138692549","word_num":"0","height":"0.017768922224759676","line_num":"0","top":"0.32752613323268465","width":"0.05377906434079431","level":"0","par_num":"0","page_num":"0","text":"Nikolay Yankov 2:41 PM","block_num":"0"},{"page_num":"0","level":"0","height":"0.006968640444571461","block_num":"0","line_num":"0","par_num":"0","conf":"0.30000001192092896","top":"0.3832752616592474","width":"0.05232557337334816","left":"0.11773256075349885","word_num":"0","text":"Nikolav Yankov 7.41 PM"},{"word_num":"0","line_num":"0","text":"Лукас, за понеделник, виж коментара от Claude","page_num":"0","conf":"1","par_num":"0","block_num":"0","height":"0.01754385964912286","left":"0.11773255838017385","width":"0.11191860158392725","level":"0","top":"0.3971291866028708"},{"text":"https://github.com/jiminny/app/pull/11998","block_num":"0","height":"0.010452960286604362","conf":"1","top":"0.41811846741767345","level":"0","line_num":"0","par_num":"0","width":"0.0973837122004083","left":"0.11627907900153954","page_num":"0","word_num":"0"},{"word_num":"0","page_num":"0","level":"0","conf":"0.30000001192092896","line_num":"0","par_num":"0","top":"0.4529616724604959","width":"0.01744185990475594","height":"0.006968641205077342","block_num":"0","left":"0.2892441863927594","text":"Todayv"},{"width":"0.05377906434079435","left":"0.11627907507736054","block_num":"0","level":"0","par_num":"0","top":"0.48083623717426005","conf":"0.30000001192092896","page_num":"0","text":"lukas Kovalik 10-20 AM","height":"0.00720204044567152","word_num":"0","line_num":"0"},{"level":"0","page_num":"0","width":"0.1395348792380475","block_num":"0","par_num":"0","conf":"1","line_num":"0","text":"направих една малка промяна в крайна сметка, комитнах го","left":"0.1177325649237991","height":"0.01051408974557777","top":"0.49825784007433493","word_num":"0"},{"level":"0","block_num":"0","text":"Nikolay Yankov 10:20 AM","par_num":"0","word_num":"0","page_num":"0","width":"0.0566860462756867","conf":"0.5","height":"0.014354066985645897","left":"0.11773255937818321","top":"0.5191387559808612","line_num":"0"},{"width":"0.04385969993915964","page_num":"0","line_num":"0","word_num":"0","block_num":"0","text":"A Direct messages","level":"0","height":"0.012721099731834662","conf":"1","left":"0.028943613485541628","par_num":"0","top":"0.5562816166068031"},{"level":"0","height":"0.017591094666500773","width":"0.05232557844608388","top":"0.5749128923237498","par_num":"0","word_num":"0","conf":"0.30000001192092896","line_num":"0","block_num":"0","left":"0.03343023550429098","page_num":"0","text":"P Galya Dimitrova"},{"top":"0.5956937797519628","text":"F. Aneliya Angelova","page_num":"0","left":"0.03343023198830777","conf":"0.30000001192092896","par_num":"0","width":"0.04796511568921678","line_num":"0","word_num":"0","block_num":"0","level":"0","height":"0.021030958379474662"},{"top":"0.6202090596724255","width":"0.03633720824059019","text":"€. Vasil Vasilev","left":"0.03343023252693484","word_num":"0","level":"0","page_num":"0","block_num":"0","conf":"0.5","height":"0.017749473048549347","line_num":"0","par_num":"0"},{"line_num":"0","par_num":"0","top":"0.6443381180735741","conf":"0.5","block_num":"0","left":"0.033430235507062984","width":"0.05232557844608388","word_num":"0","height":"0.017682787333949346","text":"3 Aneliya Angelova,...","page_num":"0","level":"0"},{"line_num":"0","height":"0.017421602252187585","width":"0.04215116196490349","top":"0.6655052266178086","level":"0","par_num":"0","left":"0.03343023364877599","text":"P. Nikolay Yankov","block_num":"0","page_num":"0","conf":"0.30000001192092896","word_num":"0"},{"level":"0","height":"0.0177355801279655","conf":"0.5","block_num":"0","line_num":"0","page_num":"0","left":"0.0334302320269567","par_num":"0","width":"0.04215116196490349","text":"C. Nikolay Ivanov","top":"0.6864111500801692","word_num":"0"},{"conf":"0.5","height":"0.01769668025453308","width":"0.045058138827060126","top":"0.710526315793022","page_num":"0","block_num":"0","left":"0.033430233608541776","line_num":"0","word_num":"0","level":"0","par_num":"0","text":"R. Nikolay Nikolov"},{"par_num":"0","top":"0.7317073172101431","height":"0.017421602252187585","conf":"0.30000001192092896","page_num":"0","width":"0.04796511568921677","level":"0","word_num":"0","block_num":"0","left":"0.0334302335307816","line_num":"0","text":"fl. Stefka Stoyanova"},{"height":"0.017721687207381653","par_num":"0","top":"0.752613240720201","level":"0","text":"R. Adelina Petrova","line_num":"0","word_num":"0","block_num":"0","conf":"1","page_num":"0","left":"0.03343023190749662","width":"0.04505813882706013"},{"top":"0.7767145135705419","block_num":"0","par_num":"0","word_num":"0","width":"0.04069767353382516","height":"0.01771057317511704","line_num":"0","conf":"0.5","left":"0.03343023367505823","page_num":"0","level":"0","text":"R. Stoyan Tomov"},{"height":"0.010452960286604362","par_num":"0","block_num":"0","word_num":"0","level":"0","conf":"1","top":"0.8013937287417153","line_num":"0","text":"( Petko Kashinski","width":"0.043604647859613946","page_num":"0","left":"0.0334302366242539"},{"height":"0.017552194793068465","level":"0","line_num":"0","page_num":"0","word_num":"0","top":"0.8221690590544602","width":"0.045058138827060126","left":"0.033430233608541776","block_num":"0","text":"88. Mario Georgiev","conf":"0.5","par_num":"0"},{"conf":"0.5","block_num":"0","line_num":"0","par_num":"0","text":"Ss: Todor Stamatov.","page_num":"0","left":"0.03343023662617514","height":"0.010566881779088155","level":"0","width":"0.043604647859613946","top":"0.8466898963487846","word_num":"0"},{"top":"0.8675958186090923","word_num":"0","page_num":"0","width":"0.045058138827060126","height":"0.013937282410154683","left":"0.033430233608541776","text":"Pa Gabriela Dureva","block_num":"0","line_num":"0","conf":"0.5","level":"0","par_num":"0"},{"top":"0.5644599301598978","page_num":"0","par_num":"0","block_num":"0","line_num":"0","word_num":"0","height":"0.0073104049220229506","left":"0.11773255938504366","conf":"0.5","level":"0","text":"Lukas Kovallk 10-20 AM","width":"0.05087209255137341"},{"page_num":"0","left":"0.11773256023956638","width":"0.07267441648118039","conf":"0.30000001192092896","height":"0.006968641205077342","line_num":"0","top":"0.581881533047702","par_num":"0","word_num":"0","block_num":"0","level":"0","text":"тoвa зa faviсon има ли си тикет"},{"height":"0.00717981238114207","word_num":"0","block_num":"0","text":"Nikolav Yankov 10:21 AM","level":"0","conf":"0.5","page_num":"0","width":"0.053779069413530084","left":"0.11773255932605839","line_num":"0","par_num":"0","top":"0.6060606058895484"},{"conf":"1","width":"0.030523257052644776","text":"само ми писа","level":"0","line_num":"0","page_num":"0","height":"0.006968641205077342","top":"0.6480836236317404","par_num":"0","word_num":"0","left":"0.1177325573369174","block_num":"0"},{"block_num":"0","page_num":"0","level":"0","par_num":"0","left":"0.11627907002945485","line_num":"0","conf":"1","text":"даже по-дооре да има","width":"0.05377906941353007","height":"0.007282619080855368","word_num":"0","top":"0.6968641114502092"},{"conf":"1","height":"0.017771701113078797","top":"0.7142857147783611","left":"0.11627907259365675","block_num":"0","level":"0","line_num":"0","page_num":"0","par_num":"0","text":"Lukas Kovalik 10:21AM","width":"0.05523255530824053","word_num":"0"},{"line_num":"0","top":"0.7384370015438981","left":"0.11627907691646958","level":"0","page_num":"0","par_num":"0","text":"хуоаво ла направим, доста време ми отнеме и маи тояова с бес така иначе да се види","block_num":"0","width":"0.2005813679796584","conf":"0.5","height":"0.007207597461803772","word_num":"0"},{"page_num":"0","left":"0.11627907366496457","word_num":"0","line_num":"0","par_num":"0","conf":"1","text":"от S3 изглежда идва","top":"0.7595818820544469","block_num":"0","width":"0.04941860158392722","level":"0","height":"0.010753046002304312"},{"height":"0.013937282410154683","left":"0.11773255926707307","conf":"1","page_num":"0","top":"0.7804878047700857","width":"0.05668604627568671","par_num":"0","block_num":"0","text":"Nikolay Yankov 10:22 AM","line_num":"0","word_num":"0","level":"0"},{"word_num":"0","top":"0.8048780491156933","page_num":"0","level":"0","par_num":"0","width":"0.024709300791963623","line_num":"0","height":"0.006968640444571572","conf":"0.5","left":"0.11773255767087878","block_num":"0","text":"интересно"},{"left":"0.11773255937818321","par_num":"0","text":"Nikolay Yankov 12:32 PM","top":"0.8221690590544602","line_num":"0","block_num":"0","width":"0.0566860462756867","word_num":"0","page_num":"0","conf":"1","height":"0.017552194793068465","level":"0"},{"word_num":"0","top":"0.8429027113575609","text":"Пуснах пак перію, а вим какро в написалої","level":"0","height":"0.0072715042880847625","left":"0.1177325694571879","line_num":"0","block_num":"0","page_num":"0","par_num":"0","width":"0.09593022123296212","conf":"0.30000001192092896"},{"text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","conf":"1","par_num":"0","block_num":"0","top":"0.864111497935457","word_num":"0","left":"0.11773255516077728","line_num":"0","page_num":"0","width":"0.20203488938351893","level":"0","height":"0.013937282410154683"},{"line_num":"0","page_num":"0","height":"0.007327075970420038","left":"0.11627907949754894","text":"тпябва ли ла го вкапваме в кеш","par_num":"0","width":"0.07412789730315512","word_num":"0","top":"0.8850174217942274","conf":"0.5","block_num":"0","level":"0"},{"block_num":"0","width":"0.020348835498728648","left":"0.027616278907612524","top":"0.8989547046999035","line_num":"0","word_num":"0","height":"0.010452960286604362","par_num":"0","text":"#::Annd","level":"0","conf":"0.30000001192092896","page_num":"0"},{"line_num":"0","width":"0.03197674294735524","conf":"0.5","word_num":"0","left":"0.03343023298627709","level":"0","top":"0.9198606275759968","text":"S Jira Cloud","par_num":"0","page_num":"0","height":"0.017421602252187474","block_num":"0"},{"conf":"0.30000001192092896","line_num":"0","left":"0.03343023412519857","block_num":"0","text":"® Toast","par_num":"0","top":"0.9407665505780702","word_num":"0","level":"0","page_num":"0","height":"0.017766144857452204","width":"0.023255812360885295"},{"left":"0.10610466262100371","word_num":"0","block_num":"0","conf":"0.5","top":"0.9233449483486083","height":"0.010466853967693979","par_num":"0","text":"Ники поглелнах по comment on claude. По принцип е прав ако има клиент сьс","page_num":"0","line_num":"0","width":"0.18168601583927235","level":"0"},{"line_num":"0","page_num":"0","left":"0.10755814010049372","text":"+ Aa","top":"0.9512195119378624","word_num":"0","width":"0.018895348335834256","level":"0","block_num":"0","height":"0.017680009966641874","conf":"0.30000001192092896","par_num":"0"},{"top":"-0.00000000035291214395272164","block_num":"0","par_num":"0","level":"0","line_num":"0","height":"0.020905923615232025","conf":"0.30000001192092896","left":"0.8343023231833918","text":"щ4@ п 100%4 8 Mon27 Apr 18:55:30","width":"0.16133721331332596","word_num":"0","page_num":"0"},{"text":"","page_num":"0","conf":"0.30000001192092896","par_num":"0","height":"0.017421602206736386","width":"0.008720929941860467","left":"0.47674418604651164","word_num":"0","level":"0","line_num":"0","block_num":"0","top":"0.02787456492450635"},{"level":"0","conf":"0.5","par_num":"0","block_num":"0","width":"0.007267441678779241","line_num":"0","page_num":"0","top":"0.027874564982578343","left":"0.890988372238372","word_num":"0","height":"0.02090592282229975","text":"*"},{"par_num":"0","conf":"1","text":"Al reports promotion pages #11998","line_num":"0","word_num":"0","top":"0.06271777012826163","block_num":"0","left":"0.5029069814629333","width":"0.08284883296236079","height":"0.017421602252187585","page_num":"0","level":"0"},{"width":"0.21947674041098741","left":"0.5029069820387471","page_num":"0","word_num":"0","conf":"1","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","height":"0.010475189872145352","top":"0.08362369354010668","line_num":"0","level":"0","block_num":"0","par_num":"0"},{"height":"0.007327075970420038","top":"0.10765550223535247","word_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","block_num":"0","par_num":"0","left":"0.515988370209941","width":"0.08720929571922797","text":"ranoramakeportsrrono ledtures grie nou","level":"0"},{"par_num":"0","block_num":"0","level":"0","conf":"0.30000001192092896","line_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","width":"0.12936045261139562","height":"0.010516868633896892","page_num":"0","top":"0.10446570957187562","word_num":"0","left":"0.6206395320015682"},{"text":"added at line 170","par_num":"0","width":"0.04069767099745736","word_num":"0","top":"0.11483253561555695","conf":"1","height":"0.017571645490290444","page_num":"0","level":"0","left":"0.6206395381627619","line_num":"0","block_num":"0"},{"level":"0","par_num":"0","width":"0.1308139435788419","left":"0.6206395418231858","height":"0.01754385964912275","line_num":"0","conf":"1","page_num":"0","block_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","top":"0.14274322169059017","word_num":"0"},{"left":"0.5145348893682301","par_num":"0","top":"0.15311004759362778","width":"0.08720929571922786","word_num":"0","text":"Wording inconsistency (modal vs inline)","height":"0.017621659395987477","block_num":"0","page_num":"0","line_num":"0","conf":"1","level":"0"},{"page_num":"0","par_num":"0","block_num":"0","height":"0.006968641205077342","top":"0.16724738673389183","word_num":"0","left":"0.6206395362891324","level":"0","width":"0.027616277654120225","conf":"0.30000001192092896","line_num":"0","text":"as possible."},{"height":"0.006968640444571461","width":"0.08866277654120269","conf":"0.30000001192092896","text":"nrer compured calling can a second","top":"0.1951219515547178","level":"0","block_num":"0","line_num":"0","left":"0.514534888937681","word_num":"0","par_num":"0","page_num":"0"},{"height":"0.0175883172991933","left":"0.620639539097222","level":"0","par_num":"0","text":"Fixed - canManageAiReports extracted as a shared","top":"0.18815330979979739","line_num":"0","width":"0.11482557337334798","block_num":"0","word_num":"0","conf":"1","page_num":"0"},{"left":"0.6220930244397125","par_num":"0","line_num":"0","width":"0.023255812360885253","height":"0.017421602252187474","text":"computed","word_num":"0","conf":"1","top":"0.20557491298540453","page_num":"0","block_num":"0","level":"0"},{"word_num":"0","text":"time","page_num":"0","height":"0.017421602252187585","par_num":"0","conf":"1","top":"0.20557491302895847","block_num":"0","width":"0.011627906180442626","line_num":"0","level":"0","left":"0.5145348842644298"},{"text":"trackInterest endpoint missing rate","page_num":"0","width":"0.08284883296236079","line_num":"0","block_num":"0","height":"0.017746694160230114","left":"0.5159883762736059","conf":"1","par_num":"0","level":"0","top":"0.23344947777831704","word_num":"0"},{"par_num":"0","text":"limitina","word_num":"0","height":"0.006968640444571461","line_num":"0","conf":"1","level":"0","block_num":"0","page_num":"0","top":"0.25435540103206966","width":"0.015988370205493596","left":"0.5145348854641136"},{"line_num":"0","par_num":"0","top":"0.24003189772282119","page_num":"0","text":"Still present (see below)","width":"0.05523255530824056","level":"0","block_num":"0","conf":"1","height":"0.017807823619203744","left":"0.6206395358560387","word_num":"0"},{"line_num":"0","block_num":"0","page_num":"0","height":"0.017613322731030334","left":"0.49854651467944094","par_num":"0","text":"Remaining issues","top":"0.31339712947633447","width":"0.049418601583927246","level":"0","conf":"1","word_num":"0"},{"par_num":"0","width":"0.10319766592472168","word_num":"0","left":"0.500000004738088","top":"0.34843205595226867","line_num":"0","text":". Extra DB query still fires on every page load","page_num":"0","height":"0.017596652443139016","block_num":"0","conf":"0.5","level":"0"},{"level":"0","block_num":"0","left":"0.4999999984771364","width":"0.24709301806510764","page_num":"0","text":"app/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297","line_num":"0","top":"0.3763066205923885","conf":"1","word_num":"0","par_num":"0","height":"0.017632773428252313"},{"top":"0.4178628388386477","line_num":"0","height":"0.010708589112739642","conf":"1","left":"0.502907000810188","block_num":"0","page_num":"0","level":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).","width":"0.2194767201200445","par_num":"0","word_num":"0"},{"text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","left":"0.5000000072941873","top":"0.45993031375224214","word_num":"0","width":"0.24127905419532292","level":"0","height":"0.017741137904603743","conf":"0.5","par_num":"0","page_num":"0","block_num":"0","line_num":"0"},{"block_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","conf":"1","left":"0.49999999992732563","top":"0.4773519162821602","word_num":"0","level":"0","par_num":"0","page_num":"0","width":"0.25000000000000006","height":"0.013937282410154683","line_num":"0"},{"top":"0.4912280702286602","block_num":"0","page_num":"0","level":"0","conf":"1","line_num":"0","height":"0.020967051553193783","width":"0.24854649888708236","left":"0.5014534918272605","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","word_num":"0","par_num":"0"},{"conf":"1","left":"0.5000000058259358","level":"0","block_num":"0","width":"0.22819764563377865","word_num":"0","height":"0.010686361048210191","page_num":"0","par_num":"0","text":"ISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as the","line_num":"0","top":"0.5119617223575448"},{"word_num":"0","par_num":"0","conf":"0.5","block_num":"0","top":"0.5606060607314207","line_num":"0","page_num":"0","width":"0.08720930586469933","left":"0.5014534853695082","level":"0","text":"uaaested mitiaations (in order of effort):","height":"0.0073381900026847635"},{"par_num":"0","level":"0","block_num":"0","page_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","line_num":"0","word_num":"0","top":"0.5853269537480064","height":"0.01754385964912286","conf":"1","left":"0.5014534869745092","width":"0.17587209255137348"},{"par_num":"0","page_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","top":"0.6027874571526035","word_num":"0","conf":"0.5","height":"0.01762721565161396","line_num":"0","left":"0.5058139713227934","width":"0.23982555308240527","level":"0","block_num":"0"},{"par_num":"0","width":"0.12354649888708236","top":"0.6236044658250198","text":"transform() is called multiple times in a single response","conf":"1","level":"0","page_num":"0","block_num":"0","line_num":"0","height":"0.010541874826239583","left":"0.5072674560187423","word_num":"0"},{"top":"0.6376306621143244","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users, set/cleared by the report generation/","height":"0.017421602252187474","block_num":"0","conf":"1","word_num":"0","width":"0.2558139435788418","left":"0.5000000099048465","level":"0","line_num":"0","par_num":"0","page_num":"0"},{"height":"0.0071770334928229484","block_num":"0","text":"deletion pipeline — eliminates the querv entirelv.","page_num":"0","left":"0.5058139616289973","line_num":"0","conf":"1","par_num":"0","top":"0.6618819776714514","width":"0.10465115689216775","word_num":"0","level":"0"},{"width":"0.021802323929806966","conf":"0.5","left":"0.5000000014415185","page_num":"0","par_num":"0","text":"Fix this →","word_num":"0","block_num":"0","level":"0","line_num":"0","top":"0.6864111496195452","height":"0.013937282410154683"},{"line_num":"0","level":"0","par_num":"0","block_num":"0","left":"0.500000009555618","height":"0.017807823619203744","page_num":"0","text":"2. trackInterest endpoint has no rate limit or idempotency guard","conf":"1","top":"0.742160278657975","width":"0.15406975847609494","word_num":"0"},{"left":"0.49997788082196515","page_num":"0","top":"0.7722896034177436","width":"0.22823879566598448","level":"0","height":"0.01525778519479859","conf":"1","par_num":"0","word_num":"0","block_num":"0","line_num":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/"},{"block_num":"0","top":"0.7944250870834626","conf":"0.5","left":"0.4999999995712994","par_num":"0","height":"0.006968641205077342","width":"0.02470930332833149","text":"pi.php:282","page_num":"0","word_num":"0","line_num":"0","level":"0"},{"par_num":"0","width":"0.14680230363886415","word_num":"0","line_num":"0","conf":"0.5","level":"0","block_num":"0","top":"0.8325358852423792","page_num":"0","height":"0.021122649525911585","text":"public function trackInterest(Request srequest): JsonResponse","left":"0.5029069986857431"},{"block_num":"0","word_num":"0","line_num":"0","level":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","top":"0.8604465709728868","left":"0.5116279148651706","conf":"0.5","height":"0.0071770334928229484","par_num":"0","width":"0.23255810839064572","page_num":"0"},{"height":"0.010647460414272003","line_num":"0","page_num":"0","par_num":"0","block_num":"0","width":"0.25290696164394944","level":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","conf":"1","top":"0.9266347687970263","left":"0.500000019045948","word_num":"0"},{"block_num":"0","top":"0.9407665505780702","par_num":"0","page_num":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","left":"0.49999999512449644","width":"0.2441860564211581","word_num":"0","conf":"1","level":"0","height":"0.017766144857452204","line_num":"0"},{"word_num":"0","width":"0.05668604627568663","left":"0.5000000013824143","text":"racking noise in analytics.","level":"0","par_num":"0","conf":"1","block_num":"0","page_num":"0","height":"0.017421602252187474","line_num":"0","top":"0.958188153403523"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4680
|
NULL
|
NULL
|
|
89208
|
iTerm2ShellEdit ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:55:31181ec2-user@ip-10-30-95-134:...• *666++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"page_num":"0","conf": [{"page_num":"0","conf":"1","text":"iTerm2","left":"0.033430232229750306","par_num":"0","block_num":"0","height":"0.013953487608167836","level":"0","top":"0.006976744645528443","width":"0.03633720874786377","word_num":"0","line_num":"0"},{"top":"0.006976744412970359","width":"0.03343023194207086","height":"0.013953487608167836","block_num":"0","level":"0","page_num":"0","line_num":"0","par_num":"0","word_num":"0","conf":"1","left":"0.08284883807450719","text":"Shell"},{"word_num":"0","height":"0.018129467434353397","level":"0","line_num":"0","block_num":"0","par_num":"0","conf":"0.5","text":"Edit View","left":"0.11617569194630452","page_num":"0","top":"0.0037259641357089146","width":"0.053985823525322815"},{"line_num":"0","par_num":"0","page_num":"0","left":"0.18168604790258086","width":"0.034883719020419646","height":"0.013953487608167836","conf":"1","block_num":"0","word_num":"0","text":"Session","level":"0","top":"0.0069767444517300214"},{"par_num":"0","top":"0.006914945827753649","height":"0.014077084859212219","left":"0.2296406737588108","level":"0","conf":"0.5","width":"0.031997723049587645","page_num":"0","word_num":"0","block_num":"0","line_num":"0","text":"Scripts"},{"page_num":"0","width":"0.033470148510403086","conf":"1","level":"0","word_num":"0","block_num":"0","top":"0.006853316216056116","line_num":"0","left":"0.27323585639556563","height":"0.014200344085693373","par_num":"0","text":"Profiles"},{"text":"Window","block_num":"0","page_num":"0","conf":"1","height":"0.013953487608167836","par_num":"0","left":"0.31831395315998284","word_num":"0","width":"0.03633720874786378","line_num":"0","level":"0","top":"0.006976744645528443"},{"block_num":"0","height":"0.013953487608167836","level":"0","par_num":"0","width":"0.02034883631600276","line_num":"0","conf":"1","top":"0.006976744474985863","word_num":"0","page_num":"0","text":"Help","left":"0.36773255878967304"},{"text":"APP (-zsh)","page_num":"0","word_num":"0","line_num":"0","block_num":"0","level":"0","par_num":"0","width":"0.049418603049384224","conf":"1","top":"0.03666666662527551","height":"0.014496124055650483","left":"0.47529069803997187"},{"height":"0.013953487608167947","top":"0.06511627921917185","width":"0.03488371902041965","page_num":"0","line_num":"0","conf":"1","par_num":"0","level":"0","text":"DOCKER","word_num":"0","left":"0.050872094365759145","block_num":"0"},{"conf":"0.30000001192092896","height":"0.011627907223171752","width":"0.01017441815800138","text":"881","block_num":"0","word_num":"0","left":"0.14680232584832487","level":"0","line_num":"0","par_num":"0","top":"0.06744186045818157","page_num":"0"},{"conf":"1","page_num":"0","left":"0.2107558135640147","height":"0.011627906163533597","level":"0","width":"0.05087209277682833","par_num":"0","block_num":"0","text":"DEV (docker)","top":"0.0674418609589309","line_num":"0","word_num":"0"},{"top":"0.06744186045818157","width":"0.014534884028964579","line_num":"0","block_num":"0","word_num":"0","height":"0.011627907223171752","conf":"0.30000001192092896","page_num":"0","par_num":"0","left":"0.30813953472970373","level":"0","text":"₴82"},{"line_num":"0","top":"0.0674418609589309","width":"0.040697672632005466","conf":"0.5","left":"0.3793604658741403","par_num":"0","text":"APP (-zsh)","level":"0","word_num":"0","height":"0.011627906163533597","block_num":"0","page_num":"0"},{"text":"83","par_num":"0","top":"0.06511627921917185","page_num":"0","left":"0.47238372128431727","conf":"0.30000001192092896","block_num":"0","width":"0.013081394301520444","word_num":"0","level":"0","line_num":"0","height":"0.013953487608167947"},{"left":"0.5348576004786272","line_num":"0","text":"screenpipe\"","word_num":"0","width":"0.048017358779907204","par_num":"0","block_num":"0","conf":"1","height":"0.014420836766560807","page_num":"0","top":"0.0648826047097042","level":"0"},{"text":"front-end/src/components/AiReports/Manage/__tests_","conf":"1","left":"0.008720942522972407","top":"0.09069767473716484","width":"0.2790697521633572","line_num":"0","word_num":"0","page_num":"0","block_num":"0","height":"0.016279069052802186","level":"0","par_num":"0"},{"top":"0.0906976745315402","conf":"1","height":"0.01860465155707458","block_num":"0","level":"0","word_num":"0","page_num":"0","width":"0.14098837110731333","line_num":"0","par_num":"0","left":"0.2863372117089401","text":"_/ManageAiReports.spec.js"},{"conf":"1","block_num":"0","level":"0","top":"0.1093023258515059","word_num":"0","line_num":"0","height":"0.016279069052802186","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","left":"0.00872094763883828","width":"0.44622090657552077","par_num":"0","page_num":"0"},{"page_num":"0","conf":"1","left":"0.008720945815069964","height":"0.016279069052802186","line_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","top":"0.13023255838057568","level":"0","par_num":"0","width":"0.5232557932535807","block_num":"0","word_num":"0"},{"text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","word_num":"0","left":"0.00872092909910249","width":"0.6002906799316406","conf":"1","height":"0.018604651557074692","top":"0.1488372093377417","par_num":"0","block_num":"0","page_num":"0","level":"0","line_num":"0"},{"left":"0.008720941327598099","conf":"1","line_num":"0","page_num":"0","height":"0.018604651557074692","level":"0","par_num":"0","text":"front-end/src/components/AiReports/constants.js","top":"0.16976744197340066","width":"0.26308138105604384","word_num":"0","block_num":"0"},{"left":"0.008720944627202777","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","top":"0.18837209251603637","page_num":"0","conf":"1","level":"0","par_num":"0","line_num":"0","width":"0.4127906799316406","word_num":"0","block_num":"0","height":"0.01860465155707458"},{"left":"0.008720936305477206","par_num":"0","top":"0.20930232526797432","word_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","width":"0.4069767422146267","line_num":"0","height":"0.01860465155707458","level":"0","block_num":"0","conf":"1","page_num":"0"},{"block_num":"0","word_num":"0","height":"0.016279069052802186","width":"0.35755814446343315","par_num":"0","left":"0.00872093223776006","page_num":"0","line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","top":"0.2302325584096454","level":"0","conf":"1"},{"word_num":"0","left":"0.008720934875787774","top":"0.2488372089889045","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","height":"0.018604651557074692","conf":"1","block_num":"0","level":"0","line_num":"0","par_num":"0","width":"0.35174418555365666","page_num":"0"},{"conf":"1","left":"0.008720937779436768","top":"0.26976744154704413","line_num":"0","height":"0.01860465155707458","par_num":"0","block_num":"0","page_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","width":"0.4854651133219401","level":"0","word_num":"0"},{"page_num":"0","par_num":"0","conf":"1","level":"0","block_num":"0","height":"0.016279069052802075","top":"0.29069767465964547","word_num":"0","left":"0.008720939940422036","line_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","width":"0.3793604532877604"},{"height":"0.01860465155707458","left":"0.008720948847176679","line_num":"0","top":"0.3093023252679743","page_num":"0","width":"0.3851743910047743","word_num":"0","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","level":"0","par_num":"0","block_num":"0"},{"left":"0.01017442358565618","page_num":"0","height":"0.011627906163533597","top":"0.3325581400286983","word_num":"0","conf":"1","level":"0","block_num":"0","line_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","width":"0.27180230882432727"},{"word_num":"0","left":"0.2805232549080388","block_num":"0","height":"0.013953487608167836","line_num":"0","par_num":"0","top":"0.3325581400718851","width":"0.1061046494377984","page_num":"0","conf":"0.5","level":"0","text":"__mocks__/nudges.js"},{"text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","height":"0.01860465155707458","top":"0.3488372088726255","width":"0.4622092776828342","block_num":"0","word_num":"0","level":"0","conf":"1","page_num":"0","par_num":"0","line_num":"0","left":"0.008720944988524652"},{"par_num":"0","page_num":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","top":"0.3697674416633232","height":"0.01860465155707458","conf":"1","width":"0.3183139377170139","word_num":"0","block_num":"0","left":"0.008720943423469624","level":"0"},{"conf":"1","page_num":"0","height":"0.020930230882432732","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","word_num":"0","level":"0","line_num":"0","left":"0.008720939432180469","top":"0.3883720938223495","width":"0.31540696885850694","par_num":"0"},{"page_num":"0","left":"0.32994186531367026","par_num":"0","height":"0.018604651557074692","level":"0","line_num":"0","top":"0.36976744175634635","conf":"1","block_num":"0","word_num":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","width":"0.2790697521633572"},{"par_num":"0","height":"0.01860465155707458","level":"0","line_num":"0","block_num":"0","text":"/__snapshots__/saved-search-modal.output.html","conf":"1","page_num":"0","top":"0.3883720925160363","left":"0.329941858342544","width":"0.25145348442925347","word_num":"0"},{"height":"0.018604651557074692","par_num":"0","level":"0","top":"0.4093023252679743","block_num":"0","page_num":"0","conf":"1","word_num":"0","left":"0.008720939459133782","text":"front-end/src/components/shared/SavedSearchModal/config.js","width":"0.32412789662679037","line_num":"0"},{"width":"0.36773253546820744","page_num":"0","top":"0.4302325583805757","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","level":"0","block_num":"0","conf":"1","left":"0.008720945245547382","height":"0.016279069052802075","line_num":"0","par_num":"0","word_num":"0"},{"par_num":"0","page_num":"0","height":"0.01860465155707458","top":"0.4488372090276642","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","block_num":"0","conf":"1","width":"0.4854651133219401","line_num":"0","left":"0.008720939802207934","level":"0"},{"width":"0.49709298875596786","conf":"1","line_num":"0","par_num":"0","left":"0.007267450825504717","block_num":"0","page_num":"0","height":"0.016279069052802075","level":"0","top":"0.4697674423340641","word_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache"},{"width":"0.245639525519477","conf":"1","height":"0.016279069052802186","left":"0.008720936961676194","par_num":"0","word_num":"0","line_num":"0","level":"0","page_num":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","block_num":"0","top":"0.49069767467902525"},{"level":"0","page_num":"0","top":"0.509302325306734","par_num":"0","word_num":"0","width":"0.3241278966267904","block_num":"0","conf":"1","left":"0.008720940809666643","line_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","height":"0.01860465155707458"},{"conf":"1","level":"0","block_num":"0","page_num":"0","par_num":"0","width":"0.4127906799316406","top":"0.5302325584096454","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","word_num":"0","height":"0.016279069052802186","line_num":"0","left":"0.008720944263830709"},{"block_num":"0","line_num":"0","conf":"1","par_num":"0","width":"0.3808139377170139","top":"0.548837209182703","page_num":"0","word_num":"0","level":"0","left":"0.007267443399245208","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","height":"0.018604651557074692"},{"page_num":"0","word_num":"0","width":"0.26308138105604384","block_num":"0","conf":"1","height":"0.018604651557074692","par_num":"0","top":"0.5697674415470441","left":"0.00872094066747218","line_num":"0","level":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php"},{"level":"0","block_num":"0","page_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","width":"0.2790697521633572","height":"0.016279069052802297","word_num":"0","top":"0.5906976748922036","par_num":"0","conf":"1","line_num":"0","left":"0.008720935081112163"},{"text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","block_num":"0","level":"0","height":"0.018604651557074692","par_num":"0","top":"0.6093023252912301","page_num":"0","width":"0.40697674221462665","conf":"1","line_num":"0","left":"0.008720935288035392","word_num":"0"},{"height":"0.018604651557074692","conf":"1","par_num":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","level":"0","top":"0.630232558174951","word_num":"0","block_num":"0","line_num":"0","width":"0.3735465155707466","left":"0.008720932494423177","page_num":"0"},{"level":"0","block_num":"0","line_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","height":"0.01860465155707458","left":"0.008720933727585568","page_num":"0","top":"0.6488372090276643","width":"0.3575581444634332","par_num":"0","word_num":"0","conf":"1"},{"conf":"1","level":"0","width":"0.30668604109022357","word_num":"0","line_num":"0","height":"0.023669251335991737","par_num":"0","top":"0.6674418601201179","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","left":"0.008720930055878897","page_num":"0","block_num":"0"},{"height":"0.053333333333333344","left":"0.30000000013888894","page_num":"0","top":"0.64","word_num":"0","text":"rtarest. php","par_num":"0","line_num":"0","width":"0.06666666666666665","block_num":"0","level":"0","conf":"0.30000001192092896"},{"width":"0.45784882439507385","block_num":"0","level":"0","page_num":"0","word_num":"0","left":"0.008720943324406762","top":"0.6906976746596454","line_num":"0","height":"0.016279069052802186","par_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","conf":"1"},{"top":"0.7088888885350363","conf":"1","left":"0.008720919944754178","width":"0.43459303114149306","page_num":"0","height":"0.019018088446723147","level":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","word_num":"0","line_num":"0","par_num":"0","block_num":"0"},{"line_num":"0","top":"0.6866666667777778","text":"fonitrn/esComedad.ron,.php","height":"0.046666666666666634","conf":"0.30000001192092896","page_num":"0","block_num":"0","level":"0","left":"0.3208333309027779","par_num":"0","word_num":"0","width":"0.14583333333333337"},{"par_num":"0","top":"0.73","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","block_num":"0","width":"0.4186046600341797","page_num":"0","level":"0","word_num":"0","line_num":"0","conf":"1","left":"0.008720931874829398","height":"0.01666666666666672"},{"height":"0.0189405674404568","level":"0","top":"0.7488372099361025","conf":"1","block_num":"0","left":"0.008720944031500208","line_num":"0","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","width":"0.5188953399658203","word_num":"0","page_num":"0"},{"top":"0.769767441714528","left":"0.00872094292957427","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","conf":"1","level":"0","page_num":"0","width":"0.556686019897461","block_num":"0","height":"0.01912144766913515","word_num":"0","line_num":"0","par_num":"0"},{"text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","conf":"1","level":"0","word_num":"0","left":"0.008720950932465657","block_num":"0","page_num":"0","line_num":"0","par_num":"0","top":"0.7883720927330905","height":"0.018604651557074692","width":"0.5232557932535807"},{"word_num":"0","level":"0","conf":"1","page_num":"0","block_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","top":"0.8088888884187573","width":"0.5130814022488065","line_num":"0","height":"0.019018088446723147","par_num":"0","left":"0.008720932168461499"},{"conf":"1","level":"0","page_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","width":"0.5901162889268663","par_num":"0","left":"0.00872093066119501","word_num":"0","block_num":"0","height":"0.018888888888888955","line_num":"0","top":"0.83"},{"left":"0.00872093066119501","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","block_num":"0","page_num":"0","line_num":"0","level":"0","conf":"1","width":"0.5901162889268663","top":"0.8488372098663348","height":"0.0189405674404568","par_num":"0"},{"page_num":"0","par_num":"0","conf":"1","block_num":"0","left":"0.00872095191817562","top":"0.8697674421015059","word_num":"0","width":"0.6017441643608942","height":"0.016279069052802186","level":"0","line_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache"},{"height":"0.016279069052802186","par_num":"0","word_num":"0","block_num":"0","conf":"1","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","level":"0","line_num":"0","page_num":"0","left":"0.008720941480167237","width":"0.5188953399658204","top":"0.8906976746596453"},{"text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","word_num":"0","line_num":"0","par_num":"0","level":"0","block_num":"0","width":"0.5130813598632812","height":"0.019018088446723036","page_num":"0","conf":"1","left":"0.008720965718114076","top":"0.9088888883993775"},{"text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","width":"0.4796511332194011","conf":"1","top":"0.93","word_num":"0","line_num":"0","block_num":"0","page_num":"0","par_num":"0","height":"0.016666666666666607","left":"0.008720959803854693","level":"0"},{"par_num":"0","line_num":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","top":"0.9488372099361024","width":"0.4636627621120876","block_num":"0","conf":"1","height":"0.0189405674404568","left":"0.008720958818144888","word_num":"0","page_num":"0","level":"0"},{"level":"0","line_num":"0","page_num":"0","block_num":"0","conf":"1","left":"0.004360485232488721","width":"0.5348837110731336","height":"0.02144702911376961","par_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","top":"0.9674418601201177","word_num":"0"},{"top":"0.06511627927731145","par_num":"0","page_num":"0","text":"O 84","level":"0","width":"0.024709301524692084","block_num":"0","left":"0.6250000001737047","word_num":"0","height":"0.013953487608167836","line_num":"0","conf":"0.30000001192092896"},{"height":"0.011627906163533597","par_num":"0","line_num":"0","top":"0.06744186098800065","word_num":"0","level":"0","page_num":"0","text":"-zsh","left":"0.7194767443728021","block_num":"0","conf":"0.5","width":"0.017441859510209823"},{"block_num":"0","text":"885","conf":"0.30000001192092896","page_num":"0","level":"0","left":"0.7994186049777334","top":"0.0674418609589309","height":"0.011627906163533597","par_num":"0","line_num":"0","width":"0.01453488270441694","word_num":"0"},{"width":"0.04218044016096334","conf":"0.30000001192092896","height":"0.014181681738959395","block_num":"0","level":"0","left":"0.8168458269716159","line_num":"0","text":"100% <7","top":"0.0068626474102171375","word_num":"0","page_num":"0","par_num":"0"},{"conf":"1","left":"0.8909883701829538","page_num":"0","height":"0.014444444444444371","text":"Mon 27 Apr 18:55:31","par_num":"0","width":"0.09738372166951492","word_num":"0","block_num":"0","line_num":"0","top":"0.00666666666666671","level":"0"},{"top":"0.034883721195916095","width":"0.020348836316002705","height":"0.013953487608167836","left":"0.9723837216312426","level":"0","word_num":"0","line_num":"0","par_num":"0","conf":"0.30000001192092896","block_num":"0","page_num":"0","text":"181"},{"top":"0.06744186083296189","text":"ec2-user@ip-10-30-95-134:...","page_num":"0","par_num":"0","conf":"1","width":"0.11046511332194009","level":"0","left":"0.8372093056452314","line_num":"0","word_num":"0","block_num":"0","height":"0.011627906163533597"},{"block_num":"0","page_num":"0","left":"0.9534883728481232","line_num":"0","conf":"0.30000001192092896","par_num":"0","text":"• *6","top":"0.06511627933545094","level":"0","width":"0.024709301524692084","word_num":"0","height":"0.013953487608167836"},{"par_num":"0","page_num":"0","conf":"1","line_num":"0","top":"0.09069767487282365","left":"0.6511627904225332","width":"0.014534884028964523","block_num":"0","level":"0","text":"66","word_num":"0","height":"0.016279069052802297"},{"height":"0.011627906163533486","block_num":"0","width":"0.024709301524692084","par_num":"0","top":"0.09302325610427975","line_num":"0","level":"0","page_num":"0","text":"++++","word_num":"0","left":"0.668604651975057","conf":"1"},{"left":"0.6511627914915763","text":"23 +-","width":"0.03052325513627796","top":"0.1088888889538393","level":"0","line_num":"0","block_num":"0","height":"0.01669250594245064","page_num":"0","par_num":"0","conf":"1","word_num":"0"},{"page_num":"0","text":"20","word_num":"0","level":"0","width":"0.014534884028964634","height":"0.016279069052802186","block_num":"0","par_num":"0","conf":"1","top":"0.1302325583999555","line_num":"0","left":"0.6511627906647812"},{"line_num":"0","page_num":"0","left":"0.6686046519044723","height":"0.011627906163533486","block_num":"0","par_num":"0","width":"0.013081394301520444","level":"0","top":"0.13255813982521003","word_num":"0","text":"+-","conf":"0.5"},{"word_num":"0","page_num":"0","conf":"1","top":"0.15116279116279063","line_num":"0","left":"0.658430232751938","par_num":"0","text":"4","level":"0","block_num":"0","height":"0.013953487906976814","width":"0.007267441618217019"},{"width":"0.01162790722317164","level":"0","conf":"0.30000001192092896","height":"0.011627906163533486","block_num":"0","par_num":"0","text":"+-","top":"0.15348837269342708","word_num":"0","line_num":"0","page_num":"0","left":"0.6686046510880266"},{"word_num":"0","conf":"0.30000001192092896","line_num":"0","level":"0","page_num":"0","par_num":"0","text":"7 +","top":"0.16976744216490824","block_num":"0","left":"0.6584302333351134","width":"0.01889534791310632","height":"0.013953487608167947"},{"page_num":"0","top":"0.19069767472304788","level":"0","width":"0.01889534791310632","left":"0.6584302333351134","line_num":"0","word_num":"0","block_num":"0","conf":"0.5","par_num":"0","height":"0.013953487608167836","text":"1 +"},{"level":"0","block_num":"0","word_num":"0","width":"0.015988371107313437","left":"0.6511627914570022","text":"24","line_num":"0","conf":"1","page_num":"0","par_num":"0","top":"0.20930232582243613","height":"0.016279069052802186"},{"page_num":"0","left":"0.6700581396855341","text":"+-","top":"0.21395348820707683","block_num":"0","conf":"0.5","width":"0.010174418158001464","height":"0.009302325778537401","line_num":"0","level":"0","par_num":"0","word_num":"0"},{"par_num":"0","block_num":"0","word_num":"0","left":"0.6511627910242451","height":"0.013953487608167947","conf":"1","level":"0","line_num":"0","page_num":"0","top":"0.23023255863777647","text":"10","width":"0.01453488270441694"},{"left":"0.6584302327537183","conf":"0.5","page_num":"0","top":"0.2488372092900042","block_num":"0","level":"0","word_num":"0","width":"0.01889534791310632","height":"0.01671834627787272","line_num":"0","par_num":"0","text":"5 +"},{"word_num":"0","top":"0.26976744235870675","height":"0.013953487608167836","block_num":"0","conf":"1","left":"0.646802325807255","par_num":"0","text":"170","level":"0","line_num":"0","width":"0.01889534791310621","page_num":"0"},{"left":"0.651162790963683","level":"0","height":"0.013953487608167836","page_num":"0","par_num":"0","line_num":"0","conf":"1","text":"18","block_num":"0","width":"0.01453488270441694","word_num":"0","top":"0.2906976748780866"},{"block_num":"0","text":"16","line_num":"0","width":"0.01453488270441694","left":"0.651162791205931","conf":"1","word_num":"0","par_num":"0","level":"0","top":"0.3093023256168115","height":"0.01860465155707458","page_num":"0"},{"line_num":"0","width":"0.013081394301520444","conf":"0.30000001192092896","height":"0.011627906163533486","text":"+-","top":"0.31395348897249686","left":"0.6686046517106738","block_num":"0","par_num":"0","level":"0","word_num":"0","page_num":"0"},{"left":"0.6482558143219299","par_num":"0","text":"62","block_num":"0","level":"0","top":"0.3488372088726255","word_num":"0","conf":"1","line_num":"0","height":"0.01860465155707458","page_num":"0","width":"0.017441859510209934"},{"conf":"1","block_num":"0","height":"0.013953487608167836","par_num":"0","left":"0.646802325807255","page_num":"0","top":"0.36976744235870673","width":"0.01889534791310621","word_num":"0","text":"942","line_num":"0","level":"0"},{"height":"0.013953487608167947","conf":"1","level":"0","line_num":"0","left":"0.646802325807255","par_num":"0","text":"942","page_num":"0","word_num":"0","block_num":"0","top":"0.39069767491684626","width":"0.01889534791310621"},{"par_num":"0","conf":"1","height":"0.016279069052802186","left":"0.6511627910605823","top":"0.4093023256673973","level":"0","page_num":"0","text":"21","line_num":"0","width":"0.01453488270441694","word_num":"0","block_num":"0"},{"par_num":"0","left":"0.6526162789947422","word_num":"0","text":"33","top":"0.4302325580788877","conf":"1","height":"0.013953488667805991","level":"0","block_num":"0","line_num":"0","page_num":"0","width":"0.013081395626068137"},{"line_num":"0","level":"0","conf":"1","top":"0.3534883723833495","page_num":"0","block_num":"0","text":"+++","width":"0.017441859510209823","height":"0.011627906163533486","left":"0.6700581403030346","par_num":"0","word_num":"0"},{"height":"0.08372093200683584","par_num":"0","text":"APP","width":"0.1395348866780599","page_num":"0","line_num":"0","conf":"0.30000001192092896","block_num":"0","level":"0","word_num":"0","left":"0.8517441851046192","top":"0.14651162689461428"},{"page_num":"0","level":"0","left":"0.6686046489065398","height":"0.0813953484429254","width":"0.013081399599711108","line_num":"0","text":"++++","conf":"0.30000001192092896","par_num":"0","word_num":"0","block_num":"0","top":"0.4511627900808629"},{"text":"++","width":"0.011627907223171752","top":"0.5325581392707482","word_num":"0","conf":"1","height":"0.013953488667805991","par_num":"0","left":"0.6700581393147707","block_num":"0","line_num":"0","page_num":"0","level":"0"},{"height":"0.01162790722317164","conf":"0.30000001192092896","left":"0.6700581393235938","level":"0","par_num":"0","block_num":"0","line_num":"0","width":"0.013081395626068137","page_num":"0","text":"++.","top":"0.6116279067372514","word_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3839
|
NULL
|
NULL
|
|
89209
|
HomeActivityFllesMoreSlackVIewJiminny ...@ jiminny HomeActivityFllesMoreSlackVIewJiminny ...@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga mlatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...A Direct messagesP Galya DimitrovaR. Aneliya Angelova€. Vasil Vasilev3 Aneliya Angelova,...P. Nikolay YankovC. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.W. Cahriela Nurova#::AnndS Jira Cloud® ToastMistonWindowQ Describe what you are looking forNikolay Yankov• MessagesAdd canvaUr Fileshttps://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2Friday, April 24th ~/Http/Controllers/FrontendControllerTrait.php#L122но при други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/puottc/atmunny_c.ongLukas Kovalik 2:41 PMще го погледнаNikolav Yankov 2:41PMNikolav Yankov 7:44 PMЛукає за понелелник виж коментаnа от claudehttps://github.com/jiminny/app/pull/11998TodayvLukas Kovalik 10:20 AMнаправих една малка промяна в крайна сметка, комитнах гоNikolav Vankov 10-20AMLukas Kovallik 10-20 AMтова за flavicon има ли си тикетNikolav Yankov 10:21 AMако искаш си направидаже по-дооре да имаLukas Kovalik 10:21 AMхубаво да направим, доста време ми отнеме и май трябва с Вес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMинтепесноNikolay Yankov 12:32 PMПуснах пак ревю, я виж какво е написалотова, це на всяка стпаница плавим тази заявка ше ни забави ли системата спопел теб?трябва ли да го вкарваме в кешНики погледнах до comment qa claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоустановим.+ AaQ4@ ẞ 10%4 & Mon27 Apr 18:56:00*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr y1eseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can( a seconaFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"conf":"1","height":" [{"conf":"1","height":"0.013937282410154683","top":"0.13588850153592147","page_num":"0","left":"0.0058139540803213065","word_num":"0","block_num":"0","width":"0.011627906180442649","level":"0","par_num":"0","line_num":"0","text":"Home"},{"width":"0.014534883042599294","word_num":"0","block_num":"0","page_num":"0","par_num":"0","conf":"1","left":"0.004360465697692593","height":"0.017421602252187585","line_num":"0","level":"0","top":"0.24390243911780862","text":"Activity"},{"left":"0.0072674419278807864","page_num":"0","level":"0","word_num":"0","conf":"0.5","block_num":"0","height":"0.017421602252187474","width":"0.00872092995237797","line_num":"0","par_num":"0","top":"0.29965156806670534","text":"Flles"},{"width":"0.011627906180442649","word_num":"0","height":"0.013937282410154683","text":"More","par_num":"0","page_num":"0","conf":"1","left":"0.0058139540803213065","level":"0","top":"0.407665505020242","block_num":"0","line_num":"0"},{"par_num":"0","block_num":"0","line_num":"0","height":"0.017421602252187585","top":"-0.00000000002272559918026218","left":"0.015988372286839896","level":"0","page_num":"0","conf":"1","text":"Slack","word_num":"0","width":"0.01453488304259929"},{"top":"0.00696864102015915","line_num":"0","conf":"0.30000001192092896","level":"0","page_num":"0","word_num":"0","left":"0.06395348841001604","height":"0.006968641205077342","par_num":"0","block_num":"0","width":"0.010174418383456299","text":"VIew"},{"level":"0","conf":"0.5","line_num":"0","page_num":"0","text":"Jiminny ...","height":"0.010761381906755907","width":"0.02906976608519858","word_num":"0","left":"0.027616280972991777","block_num":"0","par_num":"0","top":"0.06937799032465086"},{"height":"0.010452960286604362","width":"0.04941860158392724","level":"0","text":"@ jiminny-x-integrati","line_num":"0","left":"0.03343023162082732","page_num":"0","top":"0.09407665591941561","word_num":"0","conf":"0.30000001192092896","block_num":"0","par_num":"0"},{"block_num":"0","line_num":"0","height":"0.017571645490290444","level":"0","text":"& platform-inner-team","page_num":"0","width":"0.05377906941353006","word_num":"0","left":"0.03343023206285708","top":"0.11483253574621899","par_num":"0","conf":"0.5"},{"level":"0","height":"0.01754385964912275","text":"© Channels","top":"0.14274322169059017","page_num":"0","word_num":"0","block_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.029069766085198585","left":"0.029069768796061723","line_num":"0"},{"text":"# ai-chapter","conf":"1","page_num":"0","word_num":"0","par_num":"0","block_num":"0","height":"0.01843704941550317","level":"0","width":"0.03351975248215046","line_num":"0","top":"0.16673966325440914","left":"0.0333854731523376"},{"line_num":"0","left":"0.033430233468533056","block_num":"0","level":"0","par_num":"0","page_num":"0","height":"0.01758831577818165","top":"0.18815331079259123","conf":"0.5","text":"# alerts","width":"0.021802323929806973","word_num":"0"},{"width":"0.026162791759409804","par_num":"0","page_num":"0","line_num":"0","left":"0.034883720326690446","conf":"0.30000001192092896","level":"0","text":"i backend","top":"0.2160278744399171","word_num":"0","height":"0.007257612128006796","block_num":"0"},{"word_num":"0","left":"0.03343023220953198","page_num":"0","line_num":"0","level":"0","conf":"0.5","height":"0.017746694160230225","top":"0.23344947772024505","width":"0.045058138827060126","block_num":"0","par_num":"0","text":"# confusion-clinic"},{"block_num":"0","height":"0.014354066985645897","line_num":"0","par_num":"0","left":"0.03343023341543612","level":"0","page_num":"0","conf":"1","text":"# curiosity_lab","top":"0.25757575757575757","width":"0.037790696671668525","word_num":"0"},{"level":"0","text":"# engineering","page_num":"0","top":"0.2787456450411536","par_num":"0","left":"0.03343023248338709","width":"0.03633720824059019","conf":"1","block_num":"0","word_num":"0","height":"0.017421602252187585","line_num":"0"},{"page_num":"0","block_num":"0","line_num":"0","text":"# generall","conf":"0.5","level":"0","par_num":"0","top":"0.3030303029362562","height":"0.010558546635142552","width":"0.026162789223041938","word_num":"0","left":"0.03343023460359518"},{"block_num":"0","text":"# infra-changes","top":"0.3237639551848104","level":"0","par_num":"0","left":"0.033430233678823834","height":"0.017699459142852314","line_num":"0","word_num":"0","page_num":"0","width":"0.04069767353382517","conf":"1"},{"level":"0","conf":"1","left":"0.03343023267189024","par_num":"0","text":"# jiminny-bg","line_num":"0","top":"0.3449477351689121","width":"0.03343023137843355","page_num":"0","word_num":"0","block_num":"0","height":"0.017421602252187474"},{"width":"0.04360465293234968","text":"a mlatorm-nckets","level":"0","block_num":"0","line_num":"0","height":"0.006968641205077342","left":"0.03343023160068563","par_num":"0","conf":"0.30000001192092896","top":"0.3728222995949062","word_num":"0","page_num":"0"},{"text":"# product_launches","left":"0.03343023562535342","level":"0","top":"0.3899521529042582","width":"0.04941860158392724","line_num":"0","block_num":"0","conf":"1","par_num":"0","word_num":"0","height":"0.01771335206343605","page_num":"0"},{"block_num":"0","text":"# random","page_num":"0","level":"0","height":"0.010452960286604362","word_num":"0","line_num":"0","width":"0.026162789223041945","conf":"1","top":"0.41463414720861425","left":"0.033430231987316365","par_num":"0"},{"line_num":"0","text":"# releases","width":"0.02761627765412026","left":"0.033430233971852706","conf":"1","page_num":"0","top":"0.43540669856459324","block_num":"0","height":"0.014354066985646008","word_num":"0","level":"0","par_num":"0"},{"block_num":"0","word_num":"0","width":"0.034883719809511875","top":"0.45614035056563407","page_num":"0","conf":"1","left":"0.03343023258555416","level":"0","line_num":"0","par_num":"0","height":"0.017727244984020007","text":"# sofia-office"},{"conf":"0.5","text":"# support","left":"0.033430233969918705","block_num":"0","line_num":"0","width":"0.027616277654120266","par_num":"0","word_num":"0","height":"0.013937282410154683","level":"0","top":"0.48083623672755915","page_num":"0"},{"page_num":"0","text":"# thank-yous","line_num":"0","block_num":"0","par_num":"0","width":"0.03488371980951188","word_num":"0","conf":"1","left":"0.0334302336998952","top":"0.5015948961656965","height":"0.017568866601971322","level":"0"},{"text":"# the_people_of jimi...","page_num":"0","par_num":"0","level":"0","width":"0.05523255530824053","block_num":"0","word_num":"0","line_num":"0","top":"0.5223285484012261","left":"0.033430235379805606","height":"0.017741137904603632","conf":"0.5"},{"par_num":"0","text":"A Direct messages","conf":"1","block_num":"0","top":"0.5562816166068031","page_num":"0","line_num":"0","level":"0","word_num":"0","width":"0.04385969993915964","height":"0.012721099731834662","left":"0.028943613485541628"},{"level":"0","left":"0.03343023550429098","page_num":"0","line_num":"0","height":"0.017591094666500773","block_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.05232557844608388","top":"0.5749128923237498","text":"P Galya Dimitrova","word_num":"0"},{"top":"0.5956937797519628","left":"0.03197674569575711","width":"0.04941860158392724","height":"0.021030958379474662","level":"0","par_num":"0","word_num":"0","conf":"0.5","block_num":"0","text":"R. Aneliya Angelova","page_num":"0","line_num":"0"},{"left":"0.03343023252693484","width":"0.03633720824059019","par_num":"0","top":"0.6202090596724255","line_num":"0","height":"0.017749473048549347","text":"€. Vasil Vasilev","word_num":"0","level":"0","block_num":"0","page_num":"0","conf":"0.5"},{"height":"0.017682787333949346","conf":"0.5","word_num":"0","line_num":"0","page_num":"0","text":"3 Aneliya Angelova,...","left":"0.033430235507062984","top":"0.6443381180735741","block_num":"0","par_num":"0","level":"0","width":"0.05232557844608388"},{"block_num":"0","height":"0.017421602252187585","left":"0.03343023364877599","level":"0","par_num":"0","text":"P. Nikolay Yankov","width":"0.04215116196490349","word_num":"0","page_num":"0","top":"0.6655052266178086","conf":"0.30000001192092896","line_num":"0"},{"line_num":"0","left":"0.0334302320269567","par_num":"0","level":"0","text":"C. Nikolay Ivanov","top":"0.6864111500801692","height":"0.0177355801279655","block_num":"0","width":"0.04215116196490349","word_num":"0","conf":"0.5","page_num":"0"},{"level":"0","conf":"0.5","height":"0.01769668025453308","block_num":"0","left":"0.033430233608541776","page_num":"0","line_num":"0","width":"0.045058138827060126","word_num":"0","par_num":"0","top":"0.710526315793022","text":"R. Nikolay Nikolov"},{"height":"0.017421602252187585","page_num":"0","line_num":"0","par_num":"0","top":"0.7317073172101431","block_num":"0","conf":"0.30000001192092896","text":"fl. Stefka Stoyanova","width":"0.04796511568921677","word_num":"0","left":"0.0334302335307816","level":"0"},{"top":"0.752613240720201","width":"0.04505813882706013","left":"0.03343023190749662","word_num":"0","line_num":"0","level":"0","height":"0.017721687207381653","par_num":"0","conf":"1","page_num":"0","block_num":"0","text":"R. Adelina Petrova"},{"block_num":"0","word_num":"0","left":"0.03343023367505823","page_num":"0","line_num":"0","level":"0","width":"0.04069767353382516","conf":"0.5","par_num":"0","height":"0.01771057317511704","text":"R. Stoyan Tomov","top":"0.7767145135705419"},{"top":"0.8013937287417153","width":"0.043604647859613946","word_num":"0","par_num":"0","height":"0.010452960286604362","left":"0.0334302366242539","level":"0","page_num":"0","text":"( Petko Kashinski","block_num":"0","conf":"1","line_num":"0"},{"par_num":"0","block_num":"0","level":"0","page_num":"0","word_num":"0","conf":"0.5","height":"0.017552194793068465","width":"0.045058138827060126","text":"88. Mario Georgiev","left":"0.033430233608541776","top":"0.8221690590544602","line_num":"0"},{"left":"0.03343023662617514","conf":"0.5","line_num":"0","text":"Ss: Todor Stamatov.","level":"0","height":"0.010566881779088155","par_num":"0","width":"0.043604647859613946","page_num":"0","top":"0.8466898963487846","word_num":"0","block_num":"0"},{"conf":"0.30000001192092896","left":"0.03343023629393364","level":"0","height":"0.007235383302971576","page_num":"0","line_num":"0","top":"0.8708133969827938","block_num":"0","text":"W. Cahriela Nurova","width":"0.043604647859613946","par_num":"0","word_num":"0"},{"height":"0.010452960286604362","width":"0.020348835498728648","line_num":"0","page_num":"0","word_num":"0","text":"#::Annd","top":"0.8989547046999035","par_num":"0","level":"0","block_num":"0","conf":"0.30000001192092896","left":"0.027616278907612524"},{"height":"0.017421602252187474","page_num":"0","width":"0.03197674294735524","level":"0","par_num":"0","text":"S Jira Cloud","conf":"0.5","line_num":"0","left":"0.03343023298627709","top":"0.9198606275759968","block_num":"0","word_num":"0"},{"block_num":"0","level":"0","conf":"0.30000001192092896","left":"0.03343023412519857","text":"® Toast","top":"0.9407665505780702","width":"0.023255812360885295","line_num":"0","par_num":"0","page_num":"0","height":"0.017766144857452204","word_num":"0"},{"page_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461","word_num":"0","left":"0.09302325755713681","top":"0.006968641450188162","level":"0","line_num":"0","par_num":"0","text":"Miston","width":"0.01598837020549368","block_num":"0"},{"par_num":"0","level":"0","height":"0.017421602252187585","top":"-0.00000000002272559918026218","word_num":"0","left":"0.11482558143328095","text":"Window","block_num":"0","conf":"1","line_num":"0","width":"0.01744185990475594","page_num":"0"},{"line_num":"0","page_num":"0","text":"Q Describe what you are looking for","top":"0.027874564683673886","block_num":"0","word_num":"0","height":"0.017579980634236048","par_num":"0","width":"0.07267441648118039","level":"0","conf":"1","left":"0.14098837474722473"},{"par_num":"0","line_num":"0","page_num":"0","level":"0","conf":"0.5","top":"0.06271777048382365","width":"0.05377906941353007","word_num":"0","left":"0.113372094092083","block_num":"0","height":"0.021014286570571916","text":"Nikolay Yankov"},{"par_num":"0","left":"0.10465116432315079","text":"• Messages","line_num":"0","top":"0.10104529652728955","word_num":"0","conf":"1","level":"0","width":"0.024709300791963637","block_num":"0","page_num":"0","height":"0.01059744650857486"},{"page_num":"0","level":"0","width":"0.02906976354883073","word_num":"0","left":"0.1351744195663418","height":"0.0071770334928229484","top":"0.1044657097288676","block_num":"0","par_num":"0","text":"Add canva","conf":"0.30000001192092896","line_num":"0"},{"block_num":"0","page_num":"0","word_num":"0","top":"0.1044657097288676","conf":"0.30000001192092896","height":"0.0071770334928229484","level":"0","line_num":"0","left":"0.17151162836593073","par_num":"0","text":"Ur Files","width":"0.015988371473677626"},{"height":"0.017421602252187585","page_num":"0","text":"https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2","top":"0.1324041812780874","line_num":"0","par_num":"0","word_num":"0","left":"0.11627907679708259","block_num":"0","conf":"1","width":"0.15988371220040826","level":"0"},{"page_num":"0","left":"0.2776162877995917","text":"Friday, April 24th ~/Http/Controllers/FrontendControllerTrait.php#L122","block_num":"0","line_num":"0","conf":"1","top":"0.13237639553429026","par_num":"0","word_num":"0","height":"0.01754385964912286","width":"0.1598837122004083","level":"0"},{"level":"0","par_num":"0","page_num":"0","height":"0.007254833239687675","conf":"0.5","left":"0.11627907424315208","line_num":"0","text":"но при други не знам точно как става и от кьде го взима","top":"0.16347687386607168","width":"0.13226742440081657","word_num":"0","block_num":"0"},{"height":"0.01070581098492629","level":"0","par_num":"0","width":"0.06540697178942091","top":"0.18466898977425128","line_num":"0","text":"та Галя ми писа да го видим","word_num":"0","conf":"1","page_num":"0","left":"0.11773256307080245","block_num":"0"},{"left":"0.11627908270780218","block_num":"0","par_num":"0","text":"доколкото виждам, тази трябва да е окей иконата","top":"0.20893141959157524","width":"0.11773254516276907","word_num":"0","line_num":"0","page_num":"0","conf":"1","height":"0.010580774699672002","level":"0"},{"block_num":"0","text":"atminny/app/puottc/atmunny_c.ong","left":"0.11773255769524932","word_num":"0","level":"0","line_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461","par_num":"0","top":"0.22996515712963062","page_num":"0","width":"0.07848836513275795"},{"conf":"1","height":"0.014354066985645897","page_num":"0","left":"0.11773256085283156","width":"0.04941860158392723","text":"Lukas Kovalik 2:41 PM","line_num":"0","level":"0","word_num":"0","par_num":"0","top":"0.24720893141945777","block_num":"0"},{"block_num":"0","height":"0.013937282410154683","left":"0.11627907082495524","level":"0","top":"0.28919860606553827","par_num":"0","width":"0.03924418510274684","word_num":"0","page_num":"0","conf":"1","line_num":"0","text":"ще го погледна"},{"height":"0.006968640444571461","block_num":"0","par_num":"0","width":"0.05377906434079434","left":"0.11627906981127394","text":"Nikolav Yankov 2:41PM","conf":"0.30000001192092896","page_num":"0","word_num":"0","level":"0","top":"0.3170731710669128","line_num":"0"},{"level":"0","word_num":"0","line_num":"0","text":"Nikolav Yankov 7:44 PM","page_num":"0","height":"0.007352082923268499","left":"0.11773256076435365","conf":"0.30000001192092896","par_num":"0","top":"0.3658536586200556","block_num":"0","width":"0.052325578446083876"},{"text":"Лукає за понелелник виж коментаnа от claude","word_num":"0","height":"0.006968641205077342","page_num":"0","conf":"0.5","block_num":"0","left":"0.11773255504382633","par_num":"0","width":"0.11046512076195249","top":"0.3832752612744097","level":"0","line_num":"0"},{"level":"0","par_num":"0","top":"0.39721254345335355","conf":"1","left":"0.11773255865671346","width":"0.09593023137843355","block_num":"0","word_num":"0","line_num":"0","height":"0.013937282410154794","page_num":"0","text":"https://github.com/jiminny/app/pull/11998"},{"height":"0.006968641205077342","text":"Todayv","line_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.4355400696123277","word_num":"0","page_num":"0","width":"0.01744185990475594","left":"0.2892441862540174","level":"0","block_num":"0"},{"height":"0.013937282410154794","par_num":"0","page_num":"0","conf":"0.5","left":"0.11773255943718407","top":"0.45993031338261137","block_num":"0","level":"0","text":"Lukas Kovalik 10:20 AM","line_num":"0","width":"0.05377906941353007","word_num":"0"},{"text":"направих една малка промяна в крайна сметка, комитнах го","page_num":"0","width":"0.1380813882706013","height":"0.010452960286604362","word_num":"0","par_num":"0","block_num":"0","top":"0.4808362374525167","conf":"1","level":"0","left":"0.11773256622145793","line_num":"0"},{"word_num":"0","top":"0.5052264807820203","level":"0","conf":"0.5","text":"Nikolav Vankov 10-20AM","height":"0.006968641205077342","width":"0.055232560380976264","block_num":"0","page_num":"0","left":"0.11773255683554235","line_num":"0","par_num":"0"},{"level":"0","left":"0.11773255938504366","block_num":"0","text":"Lukas Kovallik 10-20 AM","page_num":"0","width":"0.05087209255137341","conf":"0.5","word_num":"0","line_num":"0","height":"0.007188147525087674","par_num":"0","top":"0.5470383276400758"},{"block_num":"0","conf":"0.5","left":"0.11773256023955285","height":"0.0073104049220229506","line_num":"0","width":"0.07267441648118038","page_num":"0","level":"0","word_num":"0","par_num":"0","top":"0.5644599301598978","text":"това за flavicon има ли си тикет"},{"level":"0","text":"Nikolav Yankov 10:21 AM","line_num":"0","word_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.11773256080146427","block_num":"0","height":"0.007302069017571466","par_num":"0","top":"0.5885167463624611","width":"0.055232555308240505"},{"line_num":"0","width":"0.052325578446083876","text":"ако искаш си направи","word_num":"0","left":"0.11627906851058986","block_num":"0","page_num":"0","conf":"1","height":"0.007315961177649544","top":"0.6547049442879459","level":"0","par_num":"0"},{"level":"0","line_num":"0","page_num":"0","left":"0.11627907003340922","height":"0.0071770334928229484","par_num":"0","text":"даже по-дооре да има","top":"0.6794258373205742","word_num":"0","block_num":"0","conf":"1","width":"0.05377906941353007"},{"par_num":"0","text":"Lukas Kovalik 10:21 AM","level":"0","top":"0.6968641114980333","left":"0.11773255943718407","conf":"1","width":"0.05377906941353007","line_num":"0","word_num":"0","page_num":"0","block_num":"0","height":"0.01764944523715517"},{"line_num":"0","block_num":"0","text":"хубаво да направим, доста време ми отнеме и май трябва с Вес така иначе да се види","conf":"1","par_num":"0","top":"0.7177033492568089","page_num":"0","word_num":"0","height":"0.010519646761710133","level":"0","left":"0.11773255810129464","width":"0.19912790744862657"},{"block_num":"0","top":"0.742160279154372","text":"от S3 изглежда идва","left":"0.11627907366496457","line_num":"0","height":"0.010630789365874915","word_num":"0","conf":"1","page_num":"0","par_num":"0","width":"0.04941860158392722","level":"0"},{"top":"0.7630662018843535","page_num":"0","level":"0","conf":"1","left":"0.11773255937818321","par_num":"0","height":"0.013937282410154683","block_num":"0","text":"Nikolay Yankov 10:22 AM","line_num":"0","width":"0.0566860462756867","word_num":"0"},{"word_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.11773256014180877","page_num":"0","text":"интепесно","level":"0","top":"0.7839721257707456","height":"0.006968640444571572","par_num":"0","width":"0.024709300791963623","line_num":"0"},{"text":"Nikolay Yankov 12:32 PM","left":"0.11773255937818321","par_num":"0","page_num":"0","line_num":"0","block_num":"0","top":"0.804625199137703","word_num":"0","height":"0.017674452190003742","conf":"1","level":"0","width":"0.0566860462756867"},{"word_num":"0","left":"0.11773255855318647","page_num":"0","level":"0","par_num":"0","conf":"1","block_num":"0","height":"0.017552194793068354","text":"Пуснах пак ревю, я виж какво е написало","top":"0.8221690591125324","line_num":"0","width":"0.09738372234587973"},{"conf":"0.5","left":"0.11627907656195002","text":"това, це на всяка стпаница плавим тази заявка ше ни забави ли системата спопел теб?","top":"0.8500797448165869","level":"0","line_num":"0","word_num":"0","par_num":"0","page_num":"0","height":"0.0071770334928230595","block_num":"0","width":"0.2005813882706013"},{"left":"0.11773256231766678","height":"0.013937282410154683","word_num":"0","page_num":"0","level":"0","conf":"1","text":"трябва ли да го вкарваме в кеш","line_num":"0","width":"0.07412790237589083","par_num":"0","block_num":"0","top":"0.8641114981540811"},{"text":"Ники погледнах до comment qa claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го","height":"0.023793083628969258","conf":"0.5","top":"0.9058817407840151","width":"0.3692254411413315","block_num":"0","word_num":"0","line_num":"0","left":"0.1060768082667906","page_num":"0","par_num":"0","level":"0"},{"width":"0.029069766085198595","text":"установим.","level":"0","conf":"1","line_num":"0","word_num":"0","left":"0.10610465177227221","height":"0.006968641205077342","page_num":"0","par_num":"0","block_num":"0","top":"0.926829268229297"},{"level":"0","left":"0.10755814010049372","par_num":"0","top":"0.9512195119378624","line_num":"0","height":"0.017680009966641874","text":"+ Aa","word_num":"0","block_num":"0","page_num":"0","width":"0.018895348335834256","conf":"0.30000001192092896"},{"block_num":"0","level":"0","height":"0.020905922094220375","line_num":"0","page_num":"0","left":"0.8343023231926572","text":"Q4@ ẞ 10%4 & Mon27 Apr 18:56:00","top":"0.00000000033500369145400555","width":"0.16133721331332584","word_num":"0","par_num":"0","conf":"0.30000001192092896"},{"par_num":"0","width":"0.008720929941860467","line_num":"0","conf":"0.30000001192092896","word_num":"0","text":"","top":"0.02787456492450635","height":"0.017421602206736386","page_num":"0","block_num":"0","left":"0.47674418604651164","level":"0"},{"level":"0","conf":"0.5","page_num":"0","height":"0.02090592282229975","left":"0.890988372238372","line_num":"0","text":"*","top":"0.027874564982578343","width":"0.007267441678779241","block_num":"0","word_num":"0","par_num":"0"},{"par_num":"0","conf":"1","line_num":"0","page_num":"0","text":"Al reports promotion pages #11998","width":"0.08284883296236079","level":"0","top":"0.06271777012826163","word_num":"0","left":"0.5029069814629333","block_num":"0","height":"0.017421602252187585"},{"line_num":"0","word_num":"0","level":"0","height":"0.010475189872145352","par_num":"0","left":"0.5029069820387471","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","top":"0.08362369354010668","conf":"1","block_num":"0","width":"0.21947674041098741","page_num":"0"},{"conf":"0.30000001192092896","left":"0.515988370209941","par_num":"0","top":"0.10765550223535247","word_num":"0","page_num":"0","height":"0.007327075970420038","level":"0","width":"0.08720929571922797","block_num":"0","line_num":"0","text":"ranoramakeportsrrono leatures gria nou"},{"level":"0","word_num":"0","height":"0.010516868633896892","line_num":"0","block_num":"0","page_num":"0","par_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","top":"0.10446570957187562","width":"0.12936045261139562","left":"0.6206395320015682","conf":"0.30000001192092896"},{"conf":"0.30000001192092896","par_num":"0","text":"1eseeis","height":"0.003484320602538671","left":"0.5145348831763734","level":"0","top":"0.12543554003627422","page_num":"0","width":"0.023255814897253146","block_num":"0","word_num":"0","line_num":"0"},{"line_num":"0","height":"0.017571645490290444","par_num":"0","text":"added at line 170","width":"0.04069767099745736","level":"0","page_num":"0","block_num":"0","conf":"1","top":"0.11483253561555695","word_num":"0","left":"0.6206395381627619"},{"text":"Fixed - both now say \"We will get in touch with you as soon","top":"0.14274322169059017","line_num":"0","height":"0.01754385964912275","width":"0.1308139435788419","left":"0.6206395418231858","word_num":"0","page_num":"0","level":"0","block_num":"0","par_num":"0","conf":"1"},{"conf":"1","level":"0","width":"0.08720929571922786","left":"0.5145348893682301","line_num":"0","height":"0.017621659395987477","block_num":"0","page_num":"0","par_num":"0","text":"Wording inconsistency (modal vs inline)","word_num":"0","top":"0.15311004759362778"},{"left":"0.6206395362891324","par_num":"0","text":"as possible.","block_num":"0","height":"0.006968641205077342","line_num":"0","top":"0.16724738673389183","width":"0.027616277654120225","word_num":"0","level":"0","page_num":"0","conf":"0.30000001192092896"},{"page_num":"0","conf":"0.30000001192092896","left":"0.514534888937681","line_num":"0","word_num":"0","block_num":"0","height":"0.006968640444571461","text":"nrer compured calling can( a secona","level":"0","top":"0.1951219515547178","width":"0.08866277654120269","par_num":"0"},{"page_num":"0","height":"0.0175883172991933","line_num":"0","conf":"1","top":"0.18815330979979739","block_num":"0","text":"Fixed - canManageAiReports extracted as a shared","width":"0.11482557337334798","word_num":"0","left":"0.620639539097222","par_num":"0","level":"0"},{"word_num":"0","line_num":"0","par_num":"0","width":"0.023255812360885253","height":"0.017421602252187474","level":"0","block_num":"0","left":"0.6220930244397125","conf":"1","text":"computed","top":"0.20557491298540453","page_num":"0"},{"level":"0","line_num":"0","height":"0.017421602252187585","par_num":"0","text":"time","width":"0.011627906180442626","word_num":"0","block_num":"0","conf":"1","left":"0.5145348842644298","page_num":"0","top":"0.20557491302895847"},{"page_num":"0","height":"0.017746694160230114","left":"0.5159883762736059","line_num":"0","conf":"1","top":"0.23344947777831704","word_num":"0","block_num":"0","level":"0","width":"0.08284883296236079","par_num":"0","text":"trackInterest endpoint missing rate"},{"conf":"1","block_num":"0","left":"0.5145348854641136","level":"0","line_num":"0","par_num":"0","text":"limitina","top":"0.25435540103206966","width":"0.015988370205493596","word_num":"0","page_num":"0","height":"0.006968640444571461"},{"left":"0.6206395358560387","width":"0.05523255530824056","top":"0.24003189772282119","word_num":"0","text":"Still present (see below)","conf":"1","level":"0","page_num":"0","block_num":"0","height":"0.017807823619203744","line_num":"0","par_num":"0"},{"width":"0.049418601583927246","left":"0.49854651467944094","level":"0","conf":"1","page_num":"0","word_num":"0","par_num":"0","height":"0.017613322731030334","block_num":"0","text":"Remaining issues","top":"0.31339712947633447","line_num":"0"},{"line_num":"0","word_num":"0","conf":"0.5","block_num":"0","par_num":"0","text":". Extra DB query still fires on every page load","width":"0.10319766592472168","left":"0.500000004738088","level":"0","page_num":"0","top":"0.34843205595226867","height":"0.017596652443139016"},{"level":"0","left":"0.4999999984771364","width":"0.24709301806510764","height":"0.017632773428252313","word_num":"0","block_num":"0","conf":"1","page_num":"0","par_num":"0","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","top":"0.3763066205923885","line_num":"0"},{"word_num":"0","level":"0","width":"0.2194767201200445","line_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).","block_num":"0","conf":"1","height":"0.010708589112739642","page_num":"0","top":"0.4178628388386477","par_num":"0","left":"0.502907000810188"},{"line_num":"0","height":"0.017741137904603743","page_num":"0","block_num":"0","conf":"0.5","width":"0.24127905419532292","left":"0.5000000072941873","top":"0.45993031375224214","level":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","word_num":"0","par_num":"0"},{"width":"0.25000000000000006","word_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","line_num":"0","page_num":"0","level":"0","height":"0.013937282410154683","conf":"1","top":"0.4773519162821602","left":"0.49999999992732563","par_num":"0","block_num":"0"},{"block_num":"0","par_num":"0","left":"0.5014534918272605","page_num":"0","width":"0.24854649888708236","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","conf":"1","word_num":"0","height":"0.020967051553193783","top":"0.4912280702286602","line_num":"0","level":"0"},{"block_num":"0","page_num":"0","conf":"1","height":"0.010686361048210191","par_num":"0","text":"ISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as the","top":"0.5119617223575448","width":"0.22819764563377865","level":"0","line_num":"0","word_num":"0","left":"0.5000000058259358"},{"left":"0.5014534853695082","conf":"1","width":"0.08720930586469933","page_num":"0","line_num":"0","block_num":"0","text":"uaaested mitiaations (in order of effort):","level":"0","height":"0.0073381900026847635","par_num":"0","top":"0.5606060607314207","word_num":"0"},{"page_num":"0","conf":"1","word_num":"0","block_num":"0","left":"0.5014534869745092","par_num":"0","top":"0.5853269537480064","level":"0","line_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","width":"0.17587209255137348","height":"0.01754385964912286"},{"conf":"0.5","left":"0.5058139713227934","height":"0.01762721565161396","line_num":"0","page_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","block_num":"0","width":"0.23982555308240527","par_num":"0","word_num":"0","top":"0.6027874571526035","level":"0"},{"left":"0.5072674434499944","conf":"0.5","level":"0","block_num":"0","line_num":"0","page_num":"0","width":"0.12354649888708236","top":"0.6267942582824599","word_num":"0","height":"0.007352082923268499","text":"transtorm() Is called multiple times in a single response","par_num":"0"},{"block_num":"0","height":"0.017421602252187474","left":"0.5000000099048465","conf":"1","width":"0.2558139435788418","level":"0","top":"0.6376306621143244","par_num":"0","line_num":"0","page_num":"0","text":"• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/","word_num":"0"},{"height":"0.0071770334928229484","width":"0.10465115689216775","line_num":"0","block_num":"0","text":"deletion pipeline — eliminates the querv entirelv.","top":"0.6618819776714514","left":"0.5058139616289973","par_num":"0","page_num":"0","conf":"1","level":"0","word_num":"0"},{"left":"0.5000000014415185","text":"Fix this →","page_num":"0","top":"0.6864111496195452","word_num":"0","width":"0.021802323929806966","par_num":"0","height":"0.013937282410154683","conf":"0.5","level":"0","block_num":"0","line_num":"0"},{"height":"0.017807823619203744","word_num":"0","left":"0.5000000095556179","text":"2. trackInterest endpoint has no rate limit or idempotency guard","top":"0.742160278657975","page_num":"0","line_num":"0","width":"0.15406975847609505","par_num":"0","conf":"1","block_num":"0","level":"0"},{"conf":"1","left":"0.49997788082196515","page_num":"0","par_num":"0","top":"0.7722896034177436","word_num":"0","block_num":"0","height":"0.01525778519479859","level":"0","line_num":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","width":"0.22823879566598448"},{"par_num":"0","block_num":"0","text":"pi.php:282","top":"0.7944250870834626","height":"0.006968641205077342","level":"0","word_num":"0","width":"0.02470930332833149","conf":"0.5","line_num":"0","page_num":"0","left":"0.4999999995712994"},{"level":"0","top":"0.8325358853529533","block_num":"0","height":"0.021122651046923346","line_num":"0","par_num":"0","text":"public function trackInterest(Request srequest): JsonResponse","left":"0.5029069762911409","conf":"0.5","width":"0.14534883296236079","word_num":"0","page_num":"0"},{"par_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","width":"0.23255810839064572","word_num":"0","page_num":"0","left":"0.5116279148651706","height":"0.0071770334928229484","conf":"0.5","level":"0","line_num":"0","top":"0.8604465709728868","block_num":"0"},{"line_num":"0","level":"0","page_num":"0","left":"0.500000019045948","word_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","par_num":"0","conf":"1","height":"0.010647460414272003","top":"0.9266347687970263","block_num":"0","width":"0.25290696164394944"},{"word_num":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","left":"0.49999262683224","page_num":"0","level":"0","block_num":"0","top":"0.9401534681773605","par_num":"0","width":"0.24420076735476226","line_num":"0","height":"0.018647765809078898","conf":"1"},{"page_num":"0","level":"0","height":"0.017421602252187474","top":"0.958188153403523","left":"0.5000000013824143","text":"racking noise in analytics.","par_num":"0","width":"0.05668604627568663","word_num":"0","line_num":"0","block_num":"0","conf":"1"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4722
|
NULL
|
NULL
|
|
89210
|
iTerm2ShellEdit ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKERDEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O0 84-zsh885100% <7Mon 27 Apr 18:56:00181ec2-user@ip-10-30-95-134:...• *666++++23 +-20+-4+-7 +124+-105 +1701816+-629429422133+++APP++++++++....
|
[{"height":"0.013953487608167836", [{"height":"0.013953487608167836","word_num":"0","page_num":"0","line_num":"0","block_num":"0","top":"0.006976744645528443","width":"0.03633720874786377","left":"0.033430232229750306","text":"iTerm2","level":"0","conf":"1","par_num":"0"},{"left":"0.08284883872795794","height":"0.013953487608167836","level":"0","text":"Shell","top":"0.006976744412970359","conf":"1","block_num":"0","width":"0.031976742214626735","line_num":"0","word_num":"0","par_num":"0","page_num":"0"},{"top":"0.0037259641357089146","height":"0.018129467434353397","line_num":"0","text":"Edit View","level":"0","conf":"0.5","par_num":"0","block_num":"0","page_num":"0","left":"0.11617569194630452","width":"0.053985823525322815","word_num":"0"},{"left":"0.18168604790258086","level":"0","text":"Session","width":"0.034883719020419646","word_num":"0","block_num":"0","height":"0.013953487608167836","page_num":"0","par_num":"0","top":"0.0069767444517300214","conf":"1","line_num":"0"},{"block_num":"0","page_num":"0","left":"0.2296406737588108","par_num":"0","top":"0.006914945827753649","height":"0.014077084859212219","width":"0.031997723049587645","conf":"0.5","word_num":"0","level":"0","text":"Scripts","line_num":"0"},{"left":"0.27323585639556563","top":"0.006853316216056116","width":"0.033470148510403086","level":"0","par_num":"0","word_num":"0","text":"Profiles","line_num":"0","conf":"1","height":"0.014200344085693373","page_num":"0","block_num":"0"},{"left":"0.31831395315998284","level":"0","line_num":"0","top":"0.006976744645528443","word_num":"0","text":"Window","conf":"1","width":"0.03633720874786378","height":"0.013953487608167836","par_num":"0","page_num":"0","block_num":"0"},{"block_num":"0","left":"0.36773255878967304","level":"0","height":"0.013953487608167836","page_num":"0","par_num":"0","text":"Help","line_num":"0","top":"0.006976744474985863","conf":"1","width":"0.02034883631600276","word_num":"0"},{"width":"0.049418603049384224","text":"APP (-zsh)","height":"0.014496124055650483","line_num":"0","par_num":"0","level":"0","left":"0.47529069803997187","block_num":"0","top":"0.03666666662527551","conf":"1","page_num":"0","word_num":"0"},{"top":"0.06511627921917185","height":"0.013953487608167947","width":"0.03488371902041965","par_num":"0","block_num":"0","left":"0.050872094365759145","conf":"1","word_num":"0","text":"DOCKER","line_num":"0","level":"0","page_num":"0"},{"level":"0","par_num":"0","block_num":"0","width":"0.05087209277682833","word_num":"0","top":"0.0674418609589309","height":"0.011627906163533597","page_num":"0","text":"DEV (docker)","conf":"1","left":"0.2107558135640147","line_num":"0"},{"word_num":"0","height":"0.011627907223171752","block_num":"0","text":"₴82","level":"0","line_num":"0","page_num":"0","par_num":"0","top":"0.06744186045818157","width":"0.014534884028964579","left":"0.30813953472970373","conf":"0.30000001192092896"},{"line_num":"0","width":"0.040697672632005466","block_num":"0","par_num":"0","conf":"0.5","text":"APP (-zsh)","page_num":"0","top":"0.0674418609589309","left":"0.3793604658741403","level":"0","word_num":"0","height":"0.011627906163533597"},{"top":"0.06511627921917185","level":"0","page_num":"0","par_num":"0","block_num":"0","text":"83","line_num":"0","left":"0.47238372128431727","height":"0.013953487608167947","width":"0.013081394301520444","word_num":"0","conf":"0.30000001192092896"},{"left":"0.5348576004786272","level":"0","top":"0.0648826047097042","page_num":"0","height":"0.014420836766560807","word_num":"0","text":"screenpipe\"","width":"0.048017358779907204","line_num":"0","par_num":"0","conf":"1","block_num":"0"},{"page_num":"0","par_num":"0","line_num":"0","height":"0.016279069052802186","block_num":"0","left":"0.008720942522972407","top":"0.09069767473716484","width":"0.2790697521633572","word_num":"0","conf":"1","level":"0","text":"front-end/src/components/AiReports/Manage/__tests_"},{"block_num":"0","level":"0","line_num":"0","top":"0.0906976745315402","par_num":"0","height":"0.01860465155707458","left":"0.2863372117089401","text":"_/ManageAiReports.spec.js","word_num":"0","page_num":"0","conf":"1","width":"0.14098837110731333"},{"width":"0.44622090657552077","word_num":"0","level":"0","par_num":"0","block_num":"0","page_num":"0","height":"0.016279069052802186","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","conf":"1","line_num":"0","left":"0.00872094763883828","top":"0.1093023258515059"},{"block_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","height":"0.016279069052802186","left":"0.008720945815069964","word_num":"0","top":"0.13023255838057568","level":"0","width":"0.5232557932535807","page_num":"0","conf":"1","par_num":"0","line_num":"0"},{"height":"0.018604651557074692","block_num":"0","level":"0","line_num":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","par_num":"0","top":"0.1488372093377417","left":"0.00872092909910249","width":"0.6002906799316406","word_num":"0","conf":"1","page_num":"0"},{"left":"0.008720941327598099","text":"front-end/src/components/AiReports/constants.js","page_num":"0","par_num":"0","width":"0.26308138105604384","level":"0","height":"0.018604651557074692","conf":"1","line_num":"0","top":"0.16976744197340066","word_num":"0","block_num":"0"},{"block_num":"0","height":"0.01860465155707458","left":"0.008720944627202777","line_num":"0","par_num":"0","word_num":"0","conf":"1","top":"0.18837209251603637","level":"0","page_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","width":"0.4127906799316406"},{"par_num":"0","top":"0.20930232526797432","height":"0.01860465155707458","line_num":"0","level":"0","block_num":"0","conf":"1","left":"0.008720936305477206","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","width":"0.4069767422146267","word_num":"0","page_num":"0"},{"page_num":"0","width":"0.35755814446343315","word_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","level":"0","conf":"1","top":"0.2302325584096454","block_num":"0","height":"0.016279069052802186","left":"0.00872093223776006","par_num":"0","line_num":"0"},{"level":"0","width":"0.35174418555365666","height":"0.018604651557074692","conf":"1","word_num":"0","block_num":"0","page_num":"0","line_num":"0","left":"0.008720934875787774","top":"0.2488372089889045","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","par_num":"0"},{"width":"0.4854651133219401","left":"0.008720937779436768","conf":"1","block_num":"0","par_num":"0","top":"0.26976744154704413","level":"0","word_num":"0","page_num":"0","height":"0.01860465155707458","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","line_num":"0"},{"text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","top":"0.29069767465964547","height":"0.016279069052802075","conf":"1","word_num":"0","page_num":"0","width":"0.3793604532877604","line_num":"0","block_num":"0","left":"0.008720939940422036","level":"0","par_num":"0"},{"width":"0.3851743910047743","conf":"1","line_num":"0","level":"0","left":"0.008720948847176679","block_num":"0","page_num":"0","height":"0.01860465155707458","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","top":"0.3093023252679743","word_num":"0"},{"width":"0.27180230882432727","height":"0.011627906163533597","level":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","page_num":"0","left":"0.01017442358565618","conf":"1","word_num":"0","par_num":"0","top":"0.3325581400286983","block_num":"0"},{"top":"0.3325581400718851","conf":"0.5","width":"0.1061046494377984","block_num":"0","line_num":"0","par_num":"0","height":"0.013953487608167836","level":"0","page_num":"0","text":"__mocks__/nudges.js","word_num":"0","left":"0.2805232549080388"},{"level":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","word_num":"0","left":"0.008720944988524652","conf":"1","line_num":"0","block_num":"0","page_num":"0","height":"0.01860465155707458","par_num":"0","top":"0.3488372088726255","width":"0.4622092776828342"},{"par_num":"0","block_num":"0","top":"0.3697674416633232","page_num":"0","level":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","height":"0.01860465155707458","line_num":"0","conf":"1","left":"0.008720943423469624","word_num":"0","width":"0.3183139377170139"},{"top":"0.3883720938223495","conf":"1","height":"0.020930230882432732","word_num":"0","page_num":"0","left":"0.008720939432180469","level":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","block_num":"0","width":"0.31540696885850694","par_num":"0"},{"width":"0.2790697521633572","text":"/__snapshots__/saved-search-modal-edit.output.html","level":"0","block_num":"0","conf":"1","line_num":"0","left":"0.32994186531367026","height":"0.018604651557074692","word_num":"0","par_num":"0","top":"0.36976744175634635","page_num":"0"},{"block_num":"0","width":"0.25145348442925347","par_num":"0","word_num":"0","height":"0.01860465155707458","line_num":"0","left":"0.329941858342544","text":"/__snapshots__/saved-search-modal.output.html","top":"0.3883720925160363","conf":"1","page_num":"0","level":"0"},{"page_num":"0","block_num":"0","level":"0","left":"0.008720939459133782","conf":"1","par_num":"0","top":"0.4093023252679743","line_num":"0","height":"0.018604651557074692","text":"front-end/src/components/shared/SavedSearchModal/config.js","width":"0.32412789662679037","word_num":"0"},{"word_num":"0","line_num":"0","page_num":"0","level":"0","left":"0.008720945245547382","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","height":"0.016279069052802075","par_num":"0","width":"0.36773253546820744","top":"0.4302325583805757","conf":"1"},{"text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","level":"0","height":"0.01860465155707458","top":"0.4488372090276642","conf":"1","par_num":"0","left":"0.008720939802207934","page_num":"0","block_num":"0","width":"0.4854651133219401","line_num":"0","word_num":"0"},{"width":"0.49709298875596786","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","height":"0.016279069052802075","top":"0.4697674423340641","word_num":"0","left":"0.007267450825504717","par_num":"0","line_num":"0","page_num":"0","block_num":"0","conf":"1","level":"0"},{"block_num":"0","conf":"1","page_num":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","word_num":"0","left":"0.008720936961676194","width":"0.245639525519477","level":"0","top":"0.49069767467902525","height":"0.016279069052802186","line_num":"0","par_num":"0"},{"line_num":"0","block_num":"0","left":"0.008720940809666643","conf":"1","level":"0","page_num":"0","par_num":"0","width":"0.3241278966267904","word_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","top":"0.509302325306734","height":"0.01860465155707458"},{"left":"0.008720944263830709","level":"0","top":"0.5302325584096454","conf":"1","width":"0.4127906799316406","par_num":"0","height":"0.016279069052802186","word_num":"0","block_num":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","line_num":"0","page_num":"0"},{"width":"0.3808139377170139","word_num":"0","conf":"1","line_num":"0","height":"0.018604651557074692","level":"0","par_num":"0","left":"0.007267443399245208","block_num":"0","page_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","top":"0.548837209182703"},{"text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","block_num":"0","word_num":"0","top":"0.5697674415470441","left":"0.00872094066747218","line_num":"0","conf":"1","height":"0.018604651557074692","level":"0","page_num":"0","par_num":"0","width":"0.26308138105604384"},{"conf":"1","par_num":"0","height":"0.016279069052802297","left":"0.008720935081112163","page_num":"0","word_num":"0","block_num":"0","width":"0.2790697521633572","level":"0","top":"0.5906976748922036","line_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php"},{"page_num":"0","level":"0","block_num":"0","line_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","par_num":"0","width":"0.40697674221462665","word_num":"0","conf":"1","height":"0.018604651557074692","left":"0.008720935288035392","top":"0.6093023252912301"},{"level":"0","par_num":"0","width":"0.3735465155707466","word_num":"0","page_num":"0","height":"0.018604651557074692","left":"0.008720932494423177","line_num":"0","block_num":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","top":"0.630232558174951","conf":"1"},{"text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","top":"0.6488372087951062","page_num":"0","height":"0.018604651557074692","level":"0","left":"0.008720925345802873","block_num":"0","line_num":"0","par_num":"0","word_num":"0","width":"0.3575581444634332","conf":"1"},{"line_num":"0","par_num":"0","level":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","conf":"1","top":"0.6674418601201179","height":"0.023669251335991737","block_num":"0","left":"0.008720930055878897","page_num":"0","width":"0.30668604109022357","word_num":"0"},{"conf":"0.30000001192092896","level":"0","word_num":"0","text":"rtarest. php","width":"0.06666666666666665","height":"0.053333333333333344","par_num":"0","block_num":"0","page_num":"0","top":"0.64","left":"0.30000000013888894","line_num":"0"},{"top":"0.6906976746596454","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","conf":"1","block_num":"0","page_num":"0","height":"0.016279069052802186","left":"0.008720943324406762","level":"0","line_num":"0","par_num":"0","width":"0.45784882439507385","word_num":"0"},{"text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","level":"0","page_num":"0","top":"0.7088888885350363","line_num":"0","word_num":"0","width":"0.43459303114149306","block_num":"0","conf":"1","left":"0.008720919944754178","height":"0.019018088446723147","par_num":"0"},{"word_num":"0","level":"0","line_num":"0","par_num":"0","left":"0.3208333309027779","conf":"0.30000001192092896","block_num":"0","text":"fonitrn/esComedad.ron,.php","top":"0.6866666667777778","width":"0.14583333333333337","height":"0.046666666666666634","page_num":"0"},{"par_num":"0","height":"0.01666666666666672","width":"0.4186046600341797","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","block_num":"0","conf":"1","left":"0.008720931874829398","line_num":"0","page_num":"0","word_num":"0","top":"0.73","level":"0"},{"conf":"1","level":"0","page_num":"0","left":"0.008720944031500208","top":"0.7488372099361025","width":"0.5188953399658203","block_num":"0","word_num":"0","height":"0.0189405674404568","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","line_num":"0"},{"text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","height":"0.01912144766913515","left":"0.00872094292957427","top":"0.769767441714528","level":"0","par_num":"0","line_num":"0","width":"0.556686019897461","word_num":"0","block_num":"0","conf":"1","page_num":"0"},{"page_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","par_num":"0","left":"0.008720950932465657","width":"0.5232557932535807","block_num":"0","line_num":"0","top":"0.7883720927330905","word_num":"0","level":"0","height":"0.018604651557074692","conf":"1"},{"text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","height":"0.019018088446723147","left":"0.008720932168461499","level":"0","word_num":"0","top":"0.8088888884187573","conf":"1","line_num":"0","par_num":"0","width":"0.5130814022488065","page_num":"0","block_num":"0"},{"level":"0","line_num":"0","left":"0.00872093066119501","height":"0.018888888888888955","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","block_num":"0","width":"0.5901162889268663","word_num":"0","conf":"1","page_num":"0","top":"0.83","par_num":"0"},{"conf":"1","line_num":"0","width":"0.5901162889268663","word_num":"0","block_num":"0","height":"0.0189405674404568","level":"0","top":"0.8488372098663348","left":"0.00872093066119501","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","page_num":"0","par_num":"0"},{"text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","block_num":"0","top":"0.8697674421015059","line_num":"0","height":"0.016279069052802186","width":"0.6017441643608942","level":"0","word_num":"0","left":"0.00872095191817562","conf":"1","par_num":"0","page_num":"0"},{"line_num":"0","page_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","level":"0","word_num":"0","conf":"1","top":"0.8906976746596453","height":"0.016279069052802186","width":"0.5188953399658204","par_num":"0","block_num":"0","left":"0.008720941480167237"},{"block_num":"0","word_num":"0","height":"0.019018088446723036","page_num":"0","conf":"1","par_num":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","left":"0.008720965718114076","level":"0","line_num":"0","width":"0.5130813598632812","top":"0.9088888883993775"},{"level":"0","block_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","top":"0.93","word_num":"0","left":"0.008720959803854693","height":"0.016666666666666607","width":"0.4796511332194011","line_num":"0","conf":"1","par_num":"0","page_num":"0"},{"level":"0","par_num":"0","top":"0.9488372099361024","word_num":"0","block_num":"0","height":"0.0189405674404568","left":"0.008720958818144888","page_num":"0","conf":"1","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","line_num":"0","width":"0.4636627621120876"},{"height":"0.02144702911376961","top":"0.9674418601201177","line_num":"0","page_num":"0","block_num":"0","word_num":"0","left":"0.004360485232488721","level":"0","par_num":"0","conf":"1","width":"0.5348837110731336","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O"},{"text":"0 84","width":"0.024709301524692084","left":"0.6250000001737047","word_num":"0","top":"0.06511627927731145","line_num":"0","conf":"0.30000001192092896","page_num":"0","level":"0","block_num":"0","height":"0.013953487608167836","par_num":"0"},{"height":"0.011627906163533597","left":"0.7194767443728021","level":"0","block_num":"0","line_num":"0","page_num":"0","par_num":"0","width":"0.017441859510209823","word_num":"0","top":"0.06744186098800065","text":"-zsh","conf":"0.5"},{"word_num":"0","width":"0.01453488270441694","line_num":"0","block_num":"0","height":"0.011627906163533597","par_num":"0","conf":"0.30000001192092896","left":"0.7994186049777334","top":"0.0674418609589309","level":"0","text":"885","page_num":"0"},{"height":"0.014181681738959395","text":"100% <7","conf":"0.30000001192092896","level":"0","block_num":"0","line_num":"0","page_num":"0","width":"0.04218044016096334","word_num":"0","left":"0.8168458269716159","top":"0.0068626474102171375","par_num":"0"},{"page_num":"0","line_num":"0","conf":"1","text":"Mon 27 Apr 18:56:00","word_num":"0","width":"0.09738372166951492","block_num":"0","height":"0.014444444444444371","level":"0","top":"0.00666666666666671","par_num":"0","left":"0.8909883701829538"},{"height":"0.013953487608167836","page_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"181","top":"0.034883721195916095","width":"0.020348836316002705","word_num":"0","left":"0.9723837216312426","level":"0","conf":"0.30000001192092896"},{"par_num":"0","width":"0.11046511332194009","line_num":"0","conf":"1","page_num":"0","block_num":"0","level":"0","top":"0.06744186083296189","left":"0.8372093056452314","word_num":"0","text":"ec2-user@ip-10-30-95-134:...","height":"0.011627906163533597"},{"conf":"0.30000001192092896","height":"0.013953487608167836","line_num":"0","level":"0","block_num":"0","text":"• *6","top":"0.06511627933545094","width":"0.024709301524692084","page_num":"0","par_num":"0","word_num":"0","left":"0.9534883728481232"},{"level":"0","top":"0.09069767487282365","width":"0.014534884028964523","word_num":"0","left":"0.6511627904225332","block_num":"0","conf":"1","line_num":"0","text":"66","par_num":"0","page_num":"0","height":"0.016279069052802297"},{"width":"0.024709301524692084","left":"0.668604651975057","line_num":"0","word_num":"0","block_num":"0","page_num":"0","conf":"1","height":"0.011627906163533486","text":"++++","level":"0","par_num":"0","top":"0.09302325610427975"},{"block_num":"0","height":"0.01669250594245064","text":"23 +-","conf":"1","page_num":"0","word_num":"0","top":"0.1088888889538393","width":"0.03052325513627796","line_num":"0","left":"0.6511627914915763","par_num":"0","level":"0"},{"block_num":"0","conf":"1","level":"0","height":"0.016279069052802186","left":"0.6511627904273781","par_num":"0","text":"20","top":"0.130232558334064","width":"0.014534884028964634","line_num":"0","word_num":"0","page_num":"0"},{"block_num":"0","left":"0.6686046519044723","text":"+-","word_num":"0","line_num":"0","par_num":"0","level":"0","page_num":"0","width":"0.013081394301520444","height":"0.011627906163533486","top":"0.13255813982521003","conf":"0.5"},{"conf":"1","line_num":"0","par_num":"0","width":"0.007267441618217019","word_num":"0","height":"0.013953487906976814","left":"0.658430232751938","top":"0.15116279116279063","block_num":"0","page_num":"0","text":"4","level":"0"},{"text":"+-","par_num":"0","height":"0.011627906163533486","block_num":"0","top":"0.15348837269342708","width":"0.01162790722317164","conf":"0.30000001192092896","level":"0","word_num":"0","left":"0.6686046510880266","page_num":"0","line_num":"0"},{"conf":"0.30000001192092896","page_num":"0","word_num":"0","text":"7 +","height":"0.013953487608167947","block_num":"0","width":"0.01889534791310632","level":"0","top":"0.16976744216490824","par_num":"0","left":"0.6584302333351134","line_num":"0"},{"line_num":"0","page_num":"0","width":"0.010174418265503804","left":"0.658430232751938","conf":"1","level":"0","block_num":"0","par_num":"0","top":"0.1906976748837209","text":"1","word_num":"0","height":"0.013953487906976814"},{"line_num":"0","conf":"1","top":"0.20930232582243613","page_num":"0","block_num":"0","text":"24","left":"0.6511627914570022","word_num":"0","level":"0","par_num":"0","width":"0.015988371107313437","height":"0.016279069052802186"},{"left":"0.6700581396855341","page_num":"0","block_num":"0","text":"+-","word_num":"0","par_num":"0","height":"0.009302325778537401","level":"0","line_num":"0","top":"0.21395348820707683","width":"0.010174418158001464","conf":"0.5"},{"top":"0.23023255863777647","word_num":"0","height":"0.013953487608167947","left":"0.6511627910242451","page_num":"0","width":"0.01453488270441694","block_num":"0","level":"0","line_num":"0","conf":"1","par_num":"0","text":"10"},{"block_num":"0","top":"0.2488372092900042","line_num":"0","conf":"0.5","level":"0","word_num":"0","height":"0.01671834627787272","par_num":"0","left":"0.6584302327537183","text":"5 +","page_num":"0","width":"0.01889534791310632"},{"text":"170","level":"0","top":"0.26976744235870675","par_num":"0","conf":"1","height":"0.013953487608167836","page_num":"0","width":"0.01889534791310621","word_num":"0","line_num":"0","left":"0.646802325807255","block_num":"0"},{"line_num":"0","page_num":"0","left":"0.651162790963683","conf":"1","level":"0","height":"0.013953487608167836","par_num":"0","text":"18","top":"0.2906976748780866","width":"0.01453488270441694","block_num":"0","word_num":"0"},{"block_num":"0","conf":"1","height":"0.016279069052802297","par_num":"0","page_num":"0","width":"0.01453488270441694","line_num":"0","top":"0.30930232621003295","word_num":"0","text":"16","left":"0.651162791205931","level":"0"},{"line_num":"0","level":"0","text":"+-","top":"0.31395348897249686","par_num":"0","word_num":"0","height":"0.011627906163533486","width":"0.013081394301520444","page_num":"0","left":"0.6686046517106738","block_num":"0","conf":"0.30000001192092896"},{"word_num":"0","height":"0.01860465155707458","block_num":"0","conf":"1","page_num":"0","left":"0.6482558143219299","line_num":"0","level":"0","par_num":"0","text":"62","top":"0.3488372088726255","width":"0.017441859510209934"},{"word_num":"0","height":"0.013953487608167836","left":"0.646802325807255","page_num":"0","conf":"1","line_num":"0","text":"942","par_num":"0","block_num":"0","level":"0","top":"0.36976744235870673","width":"0.01889534791310621"},{"width":"0.01889534791310621","block_num":"0","left":"0.646802325807255","text":"942","word_num":"0","level":"0","line_num":"0","par_num":"0","conf":"1","height":"0.013953487608167947","top":"0.39069767491684626","page_num":"0"},{"block_num":"0","left":"0.6511627910605823","par_num":"0","text":"21","line_num":"0","conf":"1","top":"0.4093023256673973","width":"0.01453488270441694","word_num":"0","page_num":"0","level":"0","height":"0.016279069052802186"},{"page_num":"0","text":"33","width":"0.013081395626068137","word_num":"0","top":"0.4302325580788877","left":"0.6526162789947422","level":"0","line_num":"0","conf":"1","height":"0.013953488667805991","block_num":"0","par_num":"0"},{"height":"0.011627906163533486","line_num":"0","page_num":"0","top":"0.3534883723833495","block_num":"0","width":"0.017441859510209823","left":"0.6700581403030346","level":"0","par_num":"0","text":"+++","word_num":"0","conf":"1"},{"page_num":"0","block_num":"0","height":"0.08372093200683584","left":"0.8517441850662857","text":"APP","word_num":"0","top":"0.14651162688694752","conf":"0.30000001192092896","width":"0.1395348866780598","par_num":"0","level":"0","line_num":"0"},{"block_num":"0","conf":"0.30000001192092896","height":"0.0813953484429254","page_num":"0","par_num":"0","text":"++++","line_num":"0","level":"0","width":"0.013081399599711108","left":"0.6686046489065398","word_num":"0","top":"0.4511627900808629"},{"text":"++","width":"0.011627907223171752","par_num":"0","height":"0.013953488667805991","line_num":"0","block_num":"0","left":"0.6700581393147707","top":"0.5325581392707482","word_num":"0","conf":"1","page_num":"0","level":"0"},{"par_num":"0","text":"++.","page_num":"0","conf":"0.30000001192092896","left":"0.6700581393235938","word_num":"0","top":"0.6116279067372514","width":"0.013081395626068137","height":"0.01162790722317164","block_num":"0","level":"0","line_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3834
|
NULL
|
NULL
|
|
89211
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:56:04181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"block_num":"0","conf":& [{"block_num":"0","conf":"1","text":"iTerm2","word_num":"0","top":"0.006976744645528443","page_num":"0","par_num":"0","left":"0.033430232229750306","level":"0","height":"0.013953487608167836","line_num":"0","width":"0.03633720874786377"},{"par_num":"0","width":"0.08720929887559678","page_num":"0","left":"0.08284883942658913","text":"Shell Edit View","top":"0.004444444444444473","height":"0.016666666666666607","word_num":"0","block_num":"0","level":"0","conf":"0.5","line_num":"0"},{"page_num":"0","par_num":"0","text":"Session","top":"0.0069767444517300214","conf":"1","height":"0.013953487608167836","block_num":"0","width":"0.034883719020419646","word_num":"0","left":"0.18168604790258086","level":"0","line_num":"0"},{"width":"0.031997723049587645","word_num":"0","left":"0.2296406737588108","block_num":"0","par_num":"0","conf":"0.5","text":"Scripts","page_num":"0","top":"0.006914945827753649","line_num":"0","height":"0.014077084859212219","level":"0"},{"width":"0.033470148510403086","top":"0.006853316216056116","text":"Profiles","line_num":"0","par_num":"0","page_num":"0","left":"0.27323585639556563","word_num":"0","height":"0.014200344085693373","level":"0","block_num":"0","conf":"1"},{"text":"Window","word_num":"0","conf":"1","left":"0.31831395315998284","top":"0.006976744645528443","par_num":"0","height":"0.013953487608167836","block_num":"0","level":"0","width":"0.03633720874786378","page_num":"0","line_num":"0"},{"block_num":"0","text":"Help","width":"0.02034883631600276","conf":"1","left":"0.36773255878967304","level":"0","par_num":"0","top":"0.006976744474985863","word_num":"0","page_num":"0","height":"0.013953487608167836","line_num":"0"},{"conf":"1","level":"0","top":"0.03666666662527551","text":"APP (-zsh)","page_num":"0","width":"0.049418603049384224","height":"0.014496124055650483","block_num":"0","word_num":"0","par_num":"0","line_num":"0","left":"0.47529069803997187"},{"par_num":"0","left":"0.050872094365759145","line_num":"0","level":"0","text":"DOCKER","word_num":"0","conf":"1","block_num":"0","top":"0.06511627921917185","page_num":"0","width":"0.03488371902041965","height":"0.013953487608167947"},{"width":"0.01017441815800138","top":"0.06744186045818157","page_num":"0","level":"0","line_num":"0","text":"881","conf":"0.30000001192092896","word_num":"0","block_num":"0","height":"0.011627907223171752","left":"0.14680232584832487","par_num":"0"},{"line_num":"0","word_num":"0","par_num":"0","block_num":"0","level":"0","text":"DEV (docker)","height":"0.011627906163533597","left":"0.2107558135640147","page_num":"0","conf":"1","top":"0.0674418609589309","width":"0.05087209277682833"},{"top":"0.06744186045818157","width":"0.014534884028964579","word_num":"0","par_num":"0","text":"₴82","block_num":"0","left":"0.30813953472970373","line_num":"0","conf":"0.30000001192092896","height":"0.011627907223171752","level":"0","page_num":"0"},{"conf":"0.5","block_num":"0","word_num":"0","top":"0.0674418609589309","line_num":"0","text":"APP (-zsh)","left":"0.3793604658741403","width":"0.040697672632005466","height":"0.011627906163533597","page_num":"0","par_num":"0","level":"0"},{"word_num":"0","width":"0.013081394301520444","text":"83","height":"0.013953487608167947","line_num":"0","par_num":"0","block_num":"0","level":"0","conf":"0.30000001192092896","page_num":"0","left":"0.47238372128431727","top":"0.06511627921917185"},{"conf":"0.5","page_num":"0","top":"0.0648826047097042","level":"0","block_num":"0","line_num":"0","height":"0.014420836766560807","par_num":"0","text":"screenpipe\"","width":"0.048017358779907204","word_num":"0","left":"0.5348576004786272"},{"par_num":"0","height":"0.016279069052802186","top":"0.09069767473716484","width":"0.2790697521633572","page_num":"0","text":"front-end/src/components/AiReports/Manage/__tests_","word_num":"0","level":"0","block_num":"0","left":"0.008720942522972407","conf":"1","line_num":"0"},{"height":"0.01860465155707458","level":"0","left":"0.2863372117089401","block_num":"0","par_num":"0","page_num":"0","text":"_/ManageAiReports.spec.js","width":"0.14098837110731333","line_num":"0","top":"0.0906976745315402","word_num":"0","conf":"1"},{"block_num":"0","par_num":"0","height":"0.016279069052802186","left":"0.00872094763883828","line_num":"0","level":"0","width":"0.44622090657552077","page_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","top":"0.1093023258515059","word_num":"0","conf":"1"},{"line_num":"0","conf":"1","par_num":"0","word_num":"0","page_num":"0","left":"0.008720945815069964","height":"0.016279069052802186","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","top":"0.13023255838057568","width":"0.5232557932535807","block_num":"0","level":"0"},{"line_num":"0","par_num":"0","block_num":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","top":"0.1488372093377417","width":"0.6002906799316406","conf":"1","level":"0","height":"0.018604651557074692","left":"0.00872092909910249","page_num":"0","word_num":"0"},{"left":"0.008720941327598099","block_num":"0","width":"0.26308138105604384","height":"0.018604651557074692","line_num":"0","page_num":"0","level":"0","par_num":"0","text":"front-end/src/components/AiReports/constants.js","conf":"1","top":"0.16976744197340066","word_num":"0"},{"height":"0.01860465155707458","page_num":"0","line_num":"0","par_num":"0","width":"0.4127906799316406","block_num":"0","left":"0.008720944627202777","conf":"1","level":"0","top":"0.18837209251603637","word_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue"},{"conf":"1","width":"0.4069767422146267","word_num":"0","level":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","left":"0.008720936305477206","line_num":"0","block_num":"0","page_num":"0","par_num":"0","top":"0.20930232526797432","height":"0.01860465155707458"},{"level":"0","par_num":"0","height":"0.016279069052802186","width":"0.35755814446343315","conf":"1","line_num":"0","top":"0.2302325584096454","word_num":"0","left":"0.00872093223776006","text":"front-end/src/components/Settings/shared/FormElements/Field.less","block_num":"0","page_num":"0"},{"conf":"1","left":"0.008720934875787774","par_num":"0","block_num":"0","level":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","width":"0.35174418555365666","top":"0.2488372089889045","line_num":"0","page_num":"0","word_num":"0","height":"0.018604651557074692"},{"left":"0.008720937779436768","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","top":"0.26976744154704413","height":"0.01860465155707458","width":"0.4854651133219401","word_num":"0","line_num":"0","page_num":"0","conf":"1","level":"0","block_num":"0"},{"level":"0","height":"0.016279069052802075","left":"0.008720939940422036","top":"0.29069767465964547","block_num":"0","line_num":"0","conf":"1","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","par_num":"0","word_num":"0","width":"0.3793604532877604","page_num":"0"},{"left":"0.008720948847176679","par_num":"0","top":"0.3093023252679743","width":"0.3851743910047743","block_num":"0","page_num":"0","word_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","height":"0.01860465155707458","line_num":"0","level":"0","conf":"1"},{"top":"0.3325581400286983","word_num":"0","block_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","conf":"1","line_num":"0","level":"0","left":"0.01017442358565618","page_num":"0","width":"0.27180230882432727","height":"0.011627906163533597"},{"text":"__mocks__/nudges.js","height":"0.013953487608167836","top":"0.3325581400718851","word_num":"0","level":"0","par_num":"0","block_num":"0","width":"0.1061046494377984","page_num":"0","left":"0.2805232549080388","line_num":"0","conf":"0.5"},{"word_num":"0","block_num":"0","level":"0","conf":"1","left":"0.008720944988524652","page_num":"0","height":"0.01860465155707458","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","width":"0.4622092776828342","top":"0.3488372088726255","par_num":"0"},{"height":"0.01860465155707458","conf":"1","page_num":"0","level":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","top":"0.3697674416633232","block_num":"0","width":"0.3183139377170139","left":"0.008720943423469624","word_num":"0","par_num":"0"},{"par_num":"0","top":"0.3883720938223495","width":"0.31540696885850694","word_num":"0","conf":"1","line_num":"0","page_num":"0","left":"0.008720939432180469","level":"0","block_num":"0","height":"0.020930230882432732","text":"front-end/src/components/shared/SavedSearchModal/__tests_"},{"text":"/__snapshots__/saved-search-modal-edit.output.html","level":"0","line_num":"0","left":"0.32994186531367026","block_num":"0","conf":"1","page_num":"0","height":"0.018604651557074692","par_num":"0","width":"0.2790697521633572","top":"0.36976744175634635","word_num":"0"},{"text":"/__snapshots__/saved-search-modal.output.html","width":"0.25145348442925347","line_num":"0","par_num":"0","level":"0","block_num":"0","page_num":"0","height":"0.01860465155707458","word_num":"0","conf":"1","left":"0.329941858342544","top":"0.3883720925160363"},{"top":"0.4093023252679743","left":"0.008720939459133782","height":"0.018604651557074692","conf":"1","par_num":"0","level":"0","width":"0.32412789662679037","page_num":"0","word_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","line_num":"0","block_num":"0"},{"left":"0.008720945245547382","level":"0","line_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","conf":"1","height":"0.016279069052802075","page_num":"0","top":"0.4302325583805757","word_num":"0","width":"0.36773253546820744","block_num":"0"},{"top":"0.4488372090276642","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","block_num":"0","par_num":"0","line_num":"0","height":"0.01860465155707458","page_num":"0","width":"0.4854651133219401","word_num":"0","level":"0","conf":"1","left":"0.008720939802207934"},{"left":"0.007267450825504717","word_num":"0","block_num":"0","level":"0","top":"0.4697674423340641","height":"0.016279069052802075","line_num":"0","page_num":"0","conf":"1","par_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","width":"0.49709298875596786"},{"level":"0","conf":"1","line_num":"0","top":"0.49069767467902525","left":"0.008720936961676194","block_num":"0","page_num":"0","width":"0.245639525519477","word_num":"0","par_num":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","height":"0.016279069052802186"},{"top":"0.509302325306734","conf":"1","height":"0.01860465155707458","level":"0","width":"0.3241278966267904","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","page_num":"0","left":"0.008720940809666643","line_num":"0","word_num":"0","block_num":"0","par_num":"0"},{"conf":"1","line_num":"0","par_num":"0","width":"0.4127906799316406","word_num":"0","level":"0","block_num":"0","left":"0.008720944263830709","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","top":"0.5302325584096454","height":"0.016279069052802186","page_num":"0"},{"page_num":"0","width":"0.3808139377170139","conf":"1","level":"0","par_num":"0","block_num":"0","height":"0.018604651557074692","left":"0.007267443399245208","line_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","top":"0.548837209182703","word_num":"0"},{"par_num":"0","width":"0.26308138105604384","word_num":"0","conf":"1","left":"0.00872094066747218","block_num":"0","top":"0.5697674415470441","line_num":"0","page_num":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","level":"0","height":"0.018604651557074692"},{"word_num":"0","block_num":"0","level":"0","page_num":"0","line_num":"0","left":"0.008720935081112163","height":"0.016279069052802297","par_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","conf":"1","top":"0.5906976748922036","width":"0.2790697521633572"},{"line_num":"0","conf":"1","par_num":"0","page_num":"0","block_num":"0","level":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","word_num":"0","width":"0.40697674221462665","left":"0.008720935288035392","top":"0.6093023252912301","height":"0.018604651557074692"},{"block_num":"0","left":"0.008720932494423177","level":"0","line_num":"0","height":"0.018604651557074692","page_num":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","top":"0.630232558174951","width":"0.3735465155707466","conf":"1","par_num":"0","word_num":"0"},{"word_num":"0","conf":"1","level":"0","par_num":"0","height":"0.018604651557074692","top":"0.6488372087951062","left":"0.008720925345802873","line_num":"0","width":"0.3575581444634332","page_num":"0","block_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php"},{"block_num":"0","width":"0.30668604109022357","line_num":"0","page_num":"0","word_num":"0","left":"0.008720930055878897","par_num":"0","conf":"1","level":"0","top":"0.6674418601201179","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","height":"0.023669251335991737"},{"left":"0.30000000013888894","top":"0.64","par_num":"0","word_num":"0","block_num":"0","width":"0.06666666666666665","text":"rtarest. php","conf":"0.30000001192092896","level":"0","height":"0.053333333333333344","line_num":"0","page_num":"0"},{"width":"0.45784882439507385","height":"0.016279069052802186","level":"0","word_num":"0","line_num":"0","conf":"1","block_num":"0","left":"0.008720943324406762","par_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","top":"0.6906976746596454","page_num":"0"},{"block_num":"0","left":"0.008720919944754178","level":"0","page_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","top":"0.7088888885350363","conf":"1","height":"0.019018088446723147","par_num":"0","width":"0.43459303114149306","word_num":"0","line_num":"0"},{"page_num":"0","left":"0.3208333309027779","top":"0.6866666667777778","text":"fonitrn/esComedad.ron,.php","conf":"0.30000001192092896","height":"0.046666666666666634","line_num":"0","block_num":"0","word_num":"0","par_num":"0","width":"0.14583333333333337","level":"0"},{"par_num":"0","block_num":"0","height":"0.01666666666666672","top":"0.73","width":"0.4186046600341797","conf":"1","line_num":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","left":"0.008720931874829398","word_num":"0","level":"0","page_num":"0"},{"height":"0.0189405674404568","conf":"1","word_num":"0","width":"0.5188953399658203","par_num":"0","block_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","left":"0.008720944031500208","line_num":"0","level":"0","page_num":"0","top":"0.7488372099361025"},{"block_num":"0","height":"0.01912144766913515","page_num":"0","width":"0.556686019897461","level":"0","top":"0.769767441714528","line_num":"0","conf":"1","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","word_num":"0","left":"0.00872094292957427"},{"level":"0","line_num":"0","page_num":"0","par_num":"0","left":"0.008720950932465657","top":"0.7883720927330905","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","width":"0.5232557932535807","conf":"1","word_num":"0","block_num":"0","height":"0.018604651557074692"},{"word_num":"0","width":"0.5130814022488065","height":"0.019018088446723147","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","block_num":"0","left":"0.008720932168461499","level":"0","conf":"1","line_num":"0","top":"0.8088888884187573","par_num":"0","page_num":"0"},{"par_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","line_num":"0","word_num":"0","top":"0.83","height":"0.018888888888888955","conf":"1","block_num":"0","level":"0","left":"0.00872093066119501","page_num":"0","width":"0.5901162889268663"},{"text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","par_num":"0","top":"0.8488372098663348","width":"0.5901162889268663","word_num":"0","conf":"1","line_num":"0","height":"0.0189405674404568","level":"0","page_num":"0","block_num":"0","left":"0.00872093066119501"},{"conf":"1","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","top":"0.8697674421015059","block_num":"0","line_num":"0","width":"0.6017441643608942","height":"0.016279069052802186","level":"0","par_num":"0","left":"0.00872095191817562","word_num":"0","page_num":"0"},{"height":"0.016279069052802186","width":"0.5188953399658204","word_num":"0","level":"0","top":"0.8906976746596453","left":"0.008720941480167237","line_num":"0","page_num":"0","block_num":"0","conf":"1","par_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php"},{"level":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","width":"0.5130813598632812","page_num":"0","par_num":"0","left":"0.008720965718114076","word_num":"0","line_num":"0","height":"0.019018088446723036","top":"0.9088888883993775","block_num":"0","conf":"1"},{"text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","line_num":"0","top":"0.93","conf":"1","block_num":"0","left":"0.008720959803854693","par_num":"0","width":"0.4796511332194011","word_num":"0","height":"0.016666666666666607","level":"0","page_num":"0"},{"block_num":"0","left":"0.008720958818144888","height":"0.0189405674404568","page_num":"0","conf":"1","word_num":"0","level":"0","line_num":"0","par_num":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","top":"0.9488372099361024","width":"0.4636627621120876"},{"top":"0.9674418601201177","line_num":"0","par_num":"0","level":"0","height":"0.02144702911376961","block_num":"0","word_num":"0","page_num":"0","left":"0.004360485232488721","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","width":"0.5348837110731336","conf":"1"},{"level":"0","height":"0.013953487608167836","block_num":"0","word_num":"0","left":"0.6250000001737047","top":"0.06511627927731145","line_num":"0","text":"O 84","page_num":"0","par_num":"0","width":"0.024709301524692084","conf":"0.30000001192092896"},{"page_num":"0","left":"0.7194767443728021","par_num":"0","text":"-zsh","block_num":"0","conf":"0.5","width":"0.017441859510209823","line_num":"0","word_num":"0","level":"0","height":"0.011627906163533597","top":"0.06744186098800065"},{"block_num":"0","conf":"0.30000001192092896","line_num":"0","level":"0","page_num":"0","word_num":"0","height":"0.011627906163533597","left":"0.7994186049777334","text":"885","par_num":"0","top":"0.0674418609589309","width":"0.01453488270441694"},{"conf":"0.30000001192092896","word_num":"0","par_num":"0","page_num":"0","block_num":"0","height":"0.014181681738959395","level":"0","line_num":"0","left":"0.8168458269716159","text":"100% <7","top":"0.0068626474102171375","width":"0.04218044016096334"},{"left":"0.8909883701829538","par_num":"0","text":"Mon 27 Apr 18:56:04","block_num":"0","word_num":"0","level":"0","conf":"1","height":"0.014444444444444371","line_num":"0","page_num":"0","top":"0.00666666666666671","width":"0.09738372166951492"},{"conf":"0.30000001192092896","left":"0.9723837216312426","word_num":"0","level":"0","line_num":"0","block_num":"0","height":"0.013953487608167836","par_num":"0","top":"0.034883721195916095","text":"181","page_num":"0","width":"0.020348836316002705"},{"conf":"1","level":"0","page_num":"0","left":"0.8372093056452314","width":"0.11046511332194009","block_num":"0","top":"0.06744186083296189","text":"ec2-user@ip-10-30-95-134:...","word_num":"0","height":"0.011627906163533597","par_num":"0","line_num":"0"},{"top":"0.06511627933545094","line_num":"0","height":"0.013953487608167836","block_num":"0","par_num":"0","left":"0.9534883728710178","text":"• ₴6|","word_num":"0","conf":"0.30000001192092896","page_num":"0","width":"0.024709301524692084","level":"0"},{"block_num":"0","top":"0.09069767487282365","page_num":"0","width":"0.014534884028964523","conf":"1","line_num":"0","text":"66","height":"0.016279069052802297","par_num":"0","word_num":"0","level":"0","left":"0.6511627904225332"},{"par_num":"0","word_num":"0","text":"++++","left":"0.668604651975057","level":"0","page_num":"0","block_num":"0","width":"0.024709301524692084","conf":"1","height":"0.011627906163533486","top":"0.09302325610427975","line_num":"0"},{"line_num":"0","page_num":"0","text":"23 +-","level":"0","block_num":"0","conf":"1","par_num":"0","top":"0.1088888889538393","left":"0.6511627914915763","width":"0.03052325513627796","word_num":"0","height":"0.01669250594245064"},{"level":"0","top":"0.130232558334064","width":"0.014534884028964634","conf":"1","line_num":"0","block_num":"0","page_num":"0","word_num":"0","left":"0.6511627904273781","height":"0.016279069052802186","par_num":"0","text":"20"},{"top":"0.13255813982521003","block_num":"0","width":"0.013081394301520444","left":"0.6686046519044723","height":"0.011627906163533486","par_num":"0","level":"0","word_num":"0","line_num":"0","text":"+-","conf":"0.5","page_num":"0"},{"width":"0.007267441618217019","left":"0.658430232751938","height":"0.013953487906976814","conf":"1","text":"4","block_num":"0","page_num":"0","par_num":"0","top":"0.15116279116279063","word_num":"0","line_num":"0","level":"0"},{"text":"+-","top":"0.15348837269342708","block_num":"0","height":"0.011627906163533486","level":"0","line_num":"0","word_num":"0","width":"0.01162790722317164","page_num":"0","par_num":"0","conf":"0.30000001192092896","left":"0.6686046510880266"},{"par_num":"0","text":"7 +","height":"0.013953487608167947","conf":"0.30000001192092896","left":"0.6584302333351134","level":"0","word_num":"0","width":"0.01889534791310632","page_num":"0","top":"0.16976744216490824","line_num":"0","block_num":"0"},{"conf":"0.5","block_num":"0","par_num":"0","width":"0.01889534791310632","line_num":"0","page_num":"0","top":"0.19069767472304788","height":"0.013953487608167836","level":"0","text":"1 +","word_num":"0","left":"0.6584302333351134"},{"top":"0.20930232582243613","word_num":"0","conf":"1","width":"0.015988371107313437","page_num":"0","level":"0","height":"0.016279069052802186","left":"0.6511627914570022","block_num":"0","line_num":"0","text":"24","par_num":"0"},{"level":"0","block_num":"0","top":"0.21395348820707683","text":"+-","left":"0.6700581396855341","par_num":"0","conf":"0.5","width":"0.010174418158001464","page_num":"0","word_num":"0","line_num":"0","height":"0.009302325778537401"},{"block_num":"0","conf":"1","top":"0.23023255863777647","width":"0.01453488270441694","height":"0.013953487608167947","word_num":"0","text":"10","page_num":"0","line_num":"0","left":"0.6511627910242451","level":"0","par_num":"0"},{"width":"0.01889534791310632","word_num":"0","level":"0","left":"0.6584302327537183","top":"0.2488372092900042","height":"0.01671834627787272","block_num":"0","text":"5 +","conf":"0.5","line_num":"0","par_num":"0","page_num":"0"},{"conf":"1","height":"0.013953487608167836","level":"0","left":"0.646802325807255","line_num":"0","text":"170","top":"0.26976744235870675","par_num":"0","page_num":"0","width":"0.01889534791310621","word_num":"0","block_num":"0"},{"top":"0.2906976748780866","width":"0.01453488270441694","left":"0.651162790963683","page_num":"0","height":"0.013953487608167836","block_num":"0","word_num":"0","par_num":"0","text":"18","conf":"1","level":"0","line_num":"0"},{"line_num":"0","width":"0.01453488270441694","par_num":"0","height":"0.016279069052802297","block_num":"0","left":"0.651162791205931","conf":"1","level":"0","page_num":"0","text":"16","word_num":"0","top":"0.30930232621003295"},{"left":"0.6686046517106738","level":"0","line_num":"0","conf":"0.30000001192092896","width":"0.013081394301520444","top":"0.31395348897249686","page_num":"0","block_num":"0","word_num":"0","text":"+-","par_num":"0","height":"0.011627906163533486"},{"conf":"1","block_num":"0","line_num":"0","top":"0.3488372088726255","height":"0.01860465155707458","level":"0","page_num":"0","left":"0.6482558143219299","width":"0.017441859510209934","word_num":"0","par_num":"0","text":"62"},{"text":"942","block_num":"0","conf":"1","left":"0.646802325807255","line_num":"0","page_num":"0","par_num":"0","top":"0.36976744235870673","width":"0.01889534791310621","level":"0","word_num":"0","height":"0.013953487608167836"},{"word_num":"0","text":"942","block_num":"0","line_num":"0","level":"0","top":"0.39069767491684626","width":"0.01889534791310621","conf":"1","left":"0.646802325807255","page_num":"0","height":"0.013953487608167947","par_num":"0"},{"top":"0.4093023256673973","width":"0.01453488270441694","word_num":"0","left":"0.6511627910605823","conf":"1","block_num":"0","line_num":"0","page_num":"0","text":"21","height":"0.016279069052802186","level":"0","par_num":"0"},{"text":"33","top":"0.4302325580788877","width":"0.013081395626068137","word_num":"0","page_num":"0","block_num":"0","left":"0.6526162789947422","conf":"1","line_num":"0","height":"0.013953488667805991","level":"0","par_num":"0"},{"par_num":"0","block_num":"0","text":"+++","left":"0.6700581403030346","top":"0.3534883723833495","conf":"1","page_num":"0","level":"0","width":"0.017441859510209823","height":"0.011627906163533486","line_num":"0","word_num":"0"},{"width":"0.1395348866780598","top":"0.14651162688694752","par_num":"0","line_num":"0","word_num":"0","block_num":"0","height":"0.08372093200683584","level":"0","left":"0.8517441850662857","page_num":"0","text":"APP","conf":"0.30000001192092896"},{"height":"0.0813953484429254","left":"0.6686046489364764","page_num":"0","level":"0","top":"0.4511627900808629","width":"0.011627911196814611","text":"++++","block_num":"0","word_num":"0","conf":"0.30000001192092896","par_num":"0","line_num":"0"},{"width":"0.011627907223171752","conf":"1","level":"0","text":"++","line_num":"0","top":"0.5325581392707482","word_num":"0","block_num":"0","page_num":"0","height":"0.013953488667805991","left":"0.6700581393147707","par_num":"0"},{"block_num":"0","level":"0","top":"0.6116279067372514","conf":"0.30000001192092896","left":"0.6700581393235938","width":"0.013081395626068137","word_num":"0","line_num":"0","page_num":"0","text":"++.","height":"0.01162790722317164","par_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3843
|
NULL
|
NULL
|
|
89212
|
HomeActivityFllesMoreSlackVIewJiminny ...@ jiminny HomeActivityFllesMoreSlackVIewJiminny ...@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga mlatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...A Direct messagesP Galya DimitrovaR. Aneliya Angelova€. Vasil Vasilev3 Aneliya Angelova,...P. Nikolay YankovC. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.W. Cahriela Nurova#::AnndS Jira Cloud® ToastMistonWindowQ Describe what you are looking forNikolay Yankov• MessagesAdd canvaUr Fileshttps://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2Friday, April 24th ~/Http/Controllers/FrontendControllerTrait.php#L122но при други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/puottc/atmunny_c.ongLukas Kovalik 2:41 PMще го погледнаNikolav Yankov 2:41PMNikolav Yankov 7:44 PMЛукає за понелелник виж коментаnа от claudehttps://github.com/jiminny/app/pull/11998TodayvLukas Kovalik 10:20 AMнаправих една малка промяна в крайна сметка, комитнах гоNikolav Vankov 10-20AMLukas Kovallik 10-20 AMтова за flavicon има ли си тикетNikolav Yankov 10:21 AMако искаш си направидаже по-дооре да имаLukas Kovalik 10:21 AMхубаво да направим, доста време ми отнеме и май трябва с Вес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMинтепесноNikolay Yankov 12:32 PMПуснах пак ревю, я виж какво е написалотова, це на всяка стпаница плавим тази заявка ше ни забави ли системата спопел теб?трябва ли да го вкарваме в кешНики поглелнах по comment oт claude. По принцип е прав ако има клиент със лесетки хиляли ресултати и user бе нито елин трябва ла мине през всички ла гоустановимQ4@ ẞ 10%4 & Mon27 Apr 18:56:04*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr y1eseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can( a seconaFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs@:lThe frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"word_num":"0","top": [{"word_num":"0","top":"0.13588850153592147","line_num":"0","block_num":"0","left":"0.0058139540803213065","page_num":"0","height":"0.013937282410154683","conf":"1","text":"Home","par_num":"0","level":"0","width":"0.011627906180442649"},{"line_num":"0","level":"0","page_num":"0","text":"Activity","width":"0.014534883042599294","word_num":"0","height":"0.017421602252187585","conf":"1","left":"0.004360465697692593","top":"0.24390243911780862","par_num":"0","block_num":"0"},{"left":"0.0072674419278807864","height":"0.017421602252187474","page_num":"0","width":"0.00872092995237797","word_num":"0","level":"0","top":"0.29965156806670534","par_num":"0","block_num":"0","line_num":"0","text":"Flles","conf":"0.5"},{"block_num":"0","width":"0.011627906180442649","word_num":"0","page_num":"0","height":"0.013937282410154683","conf":"1","left":"0.0058139540803213065","line_num":"0","par_num":"0","text":"More","top":"0.407665505020242","level":"0"},{"level":"0","par_num":"0","left":"0.015988372286839896","top":"-0.00000000002272559918026218","page_num":"0","width":"0.01453488304259929","word_num":"0","block_num":"0","conf":"1","line_num":"0","height":"0.017421602252187585","text":"Slack"},{"conf":"0.30000001192092896","top":"0.00696864102015915","page_num":"0","word_num":"0","par_num":"0","width":"0.010174418383456299","line_num":"0","height":"0.006968641205077342","left":"0.06395348841001604","level":"0","block_num":"0","text":"VIew"},{"block_num":"0","line_num":"0","word_num":"0","top":"0.06937799032465086","level":"0","conf":"0.5","par_num":"0","text":"Jiminny ...","width":"0.02906976608519858","page_num":"0","left":"0.027616280972991777","height":"0.010761381906755907"},{"conf":"0.30000001192092896","block_num":"0","text":"@ jiminny-x-integrati","line_num":"0","top":"0.09407665591941561","width":"0.04941860158392724","height":"0.010452960286604362","par_num":"0","word_num":"0","page_num":"0","level":"0","left":"0.03343023162082732"},{"word_num":"0","line_num":"0","block_num":"0","width":"0.05377906941353006","level":"0","page_num":"0","conf":"0.5","height":"0.017571645490290444","left":"0.03343023206285708","text":"& platform-inner-team","par_num":"0","top":"0.11483253574621899"},{"block_num":"0","par_num":"0","text":"© Channels","width":"0.029069766085198585","page_num":"0","line_num":"0","left":"0.029069768796061723","top":"0.14274322169059017","word_num":"0","conf":"0.30000001192092896","height":"0.01754385964912275","level":"0"},{"text":"# ai-chapter","width":"0.03351975248215046","top":"0.16673966325440914","left":"0.0333854731523376","block_num":"0","line_num":"0","word_num":"0","page_num":"0","height":"0.01843704941550317","conf":"1","level":"0","par_num":"0"},{"line_num":"0","conf":"0.5","height":"0.01758831577818165","left":"0.033430233468533056","level":"0","block_num":"0","page_num":"0","par_num":"0","text":"# alerts","top":"0.18815331079259123","word_num":"0","width":"0.021802323929806973"},{"width":"0.026162791759409804","word_num":"0","conf":"0.30000001192092896","height":"0.007257612128006796","level":"0","line_num":"0","par_num":"0","block_num":"0","left":"0.034883720326690446","page_num":"0","text":"i backend","top":"0.2160278744399171"},{"word_num":"0","block_num":"0","conf":"0.5","width":"0.045058138827060126","par_num":"0","top":"0.23344947772024505","height":"0.017746694160230225","left":"0.03343023220953198","page_num":"0","line_num":"0","level":"0","text":"# confusion-clinic"},{"block_num":"0","conf":"1","height":"0.014354066985645897","level":"0","text":"# curiosity_lab","top":"0.25757575757575757","left":"0.03343023341543612","line_num":"0","word_num":"0","page_num":"0","par_num":"0","width":"0.037790696671668525"},{"height":"0.017421602252187585","block_num":"0","level":"0","line_num":"0","width":"0.03633720824059019","word_num":"0","conf":"1","left":"0.03343023248338709","top":"0.2787456450411536","page_num":"0","text":"# engineering","par_num":"0"},{"top":"0.3030303029362562","height":"0.010558546635142552","word_num":"0","conf":"0.5","line_num":"0","text":"# generall","width":"0.026162789223041938","block_num":"0","left":"0.03343023460359518","par_num":"0","level":"0","page_num":"0"},{"line_num":"0","block_num":"0","text":"# infra-changes","par_num":"0","level":"0","height":"0.017699459142852314","top":"0.3237639551848104","left":"0.033430233678823834","page_num":"0","word_num":"0","width":"0.04069767353382517","conf":"1"},{"top":"0.3449477351689121","par_num":"0","width":"0.03343023137843355","line_num":"0","level":"0","word_num":"0","left":"0.03343023267189024","height":"0.017421602252187474","conf":"1","block_num":"0","text":"# jiminny-bg","page_num":"0"},{"text":"a mlatorm-nckets","page_num":"0","level":"0","left":"0.03343023160068563","width":"0.04360465293234968","word_num":"0","height":"0.006968641205077342","conf":"0.30000001192092896","block_num":"0","line_num":"0","par_num":"0","top":"0.3728222995949062"},{"par_num":"0","conf":"1","page_num":"0","top":"0.3899521529042582","block_num":"0","level":"0","text":"# product_launches","line_num":"0","height":"0.01771335206343605","left":"0.03343023562535342","width":"0.04941860158392724","word_num":"0"},{"height":"0.010452960286604362","page_num":"0","block_num":"0","conf":"1","line_num":"0","text":"# random","top":"0.41463414720861425","level":"0","width":"0.026162789223041945","word_num":"0","left":"0.033430231987316365","par_num":"0"},{"par_num":"0","word_num":"0","line_num":"0","height":"0.014354066985646008","left":"0.033430233971852706","page_num":"0","block_num":"0","level":"0","text":"# releases","width":"0.02761627765412026","top":"0.43540669856459324","conf":"1"},{"width":"0.034883719809511875","height":"0.017727244984020007","page_num":"0","text":"# sofia-office","left":"0.03343023258555416","par_num":"0","line_num":"0","top":"0.45614035056563407","conf":"1","level":"0","block_num":"0","word_num":"0"},{"par_num":"0","page_num":"0","level":"0","height":"0.013937282410154683","block_num":"0","conf":"0.5","word_num":"0","top":"0.48083623672755915","text":"# support","line_num":"0","left":"0.033430233969918705","width":"0.027616277654120266"},{"top":"0.5015948961656965","level":"0","block_num":"0","conf":"1","line_num":"0","height":"0.017568866601971322","par_num":"0","text":"# thank-yous","left":"0.0334302336998952","width":"0.03488371980951188","word_num":"0","page_num":"0"},{"page_num":"0","width":"0.05523255530824053","height":"0.017741137904603632","line_num":"0","word_num":"0","left":"0.033430235379805606","text":"# the_people_of jimi...","par_num":"0","top":"0.5223285484012261","block_num":"0","level":"0","conf":"0.5"},{"conf":"1","text":"A Direct messages","top":"0.5562816166068031","height":"0.012721099731834662","level":"0","page_num":"0","left":"0.028943613485541628","width":"0.04385969993915964","word_num":"0","block_num":"0","par_num":"0","line_num":"0"},{"width":"0.05232557844608388","word_num":"0","text":"P Galya Dimitrova","height":"0.017591094666500773","line_num":"0","conf":"0.30000001192092896","level":"0","left":"0.03343023550429098","page_num":"0","par_num":"0","block_num":"0","top":"0.5749128923237498"},{"level":"0","word_num":"0","line_num":"0","height":"0.021030958379474662","block_num":"0","left":"0.03197674569575711","page_num":"0","conf":"0.5","par_num":"0","width":"0.04941860158392724","top":"0.5956937797519628","text":"R. Aneliya Angelova"},{"height":"0.017749473048549347","block_num":"0","left":"0.03343023252693484","par_num":"0","text":"€. Vasil Vasilev","word_num":"0","level":"0","conf":"0.5","top":"0.6202090596724255","width":"0.03633720824059019","line_num":"0","page_num":"0"},{"top":"0.6443381180735741","line_num":"0","word_num":"0","page_num":"0","block_num":"0","left":"0.033430235507062984","width":"0.05232557844608388","height":"0.017682787333949346","level":"0","par_num":"0","text":"3 Aneliya Angelova,...","conf":"0.5"},{"top":"0.6655052266178086","height":"0.017421602252187585","block_num":"0","word_num":"0","width":"0.04215116196490349","page_num":"0","par_num":"0","left":"0.03343023364877599","level":"0","line_num":"0","text":"P. Nikolay Yankov","conf":"0.30000001192092896"},{"height":"0.0177355801279655","width":"0.04215116196490349","par_num":"0","text":"C. Nikolay Ivanov","word_num":"0","conf":"0.5","page_num":"0","block_num":"0","left":"0.0334302320269567","top":"0.6864111500801692","line_num":"0","level":"0"},{"left":"0.033430233608541776","block_num":"0","height":"0.01769668025453308","conf":"0.5","line_num":"0","top":"0.710526315793022","width":"0.045058138827060126","level":"0","page_num":"0","par_num":"0","word_num":"0","text":"R. Nikolay Nikolov"},{"line_num":"0","height":"0.017421602252187585","conf":"0.30000001192092896","level":"0","page_num":"0","top":"0.7317073172101431","width":"0.04796511568921677","word_num":"0","block_num":"0","par_num":"0","text":"fl. Stefka Stoyanova","left":"0.0334302335307816"},{"par_num":"0","page_num":"0","block_num":"0","width":"0.04505813882706013","conf":"1","text":"R. Adelina Petrova","top":"0.752613240720201","word_num":"0","level":"0","line_num":"0","height":"0.017721687207381653","left":"0.03343023190749662"},{"par_num":"0","block_num":"0","left":"0.03343023367505823","level":"0","word_num":"0","line_num":"0","height":"0.01771057317511704","page_num":"0","top":"0.7767145135705419","width":"0.04069767353382516","conf":"0.5","text":"R. Stoyan Tomov"},{"word_num":"0","top":"0.8013937287417153","line_num":"0","conf":"1","width":"0.043604647859613946","height":"0.010452960286604362","par_num":"0","text":"( Petko Kashinski","block_num":"0","level":"0","page_num":"0","left":"0.0334302366242539"},{"page_num":"0","left":"0.033430233608541776","height":"0.017552194793068465","text":"88. Mario Georgiev","block_num":"0","conf":"0.5","par_num":"0","word_num":"0","level":"0","line_num":"0","top":"0.8221690590544602","width":"0.045058138827060126"},{"word_num":"0","left":"0.03343023662617514","top":"0.8466898963487846","width":"0.043604647859613946","height":"0.010566881779088155","block_num":"0","level":"0","line_num":"0","par_num":"0","conf":"0.5","text":"Ss: Todor Stamatov.","page_num":"0"},{"conf":"0.30000001192092896","word_num":"0","line_num":"0","top":"0.8708133969827938","page_num":"0","left":"0.03343023629393364","level":"0","text":"W. Cahriela Nurova","par_num":"0","block_num":"0","width":"0.043604647859613946","height":"0.007235383302971576"},{"level":"0","page_num":"0","top":"0.8989547046999035","line_num":"0","word_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.010452960286604362","left":"0.027616278907612524","par_num":"0","text":"#::Annd","width":"0.020348835498728648"},{"left":"0.03343023298627709","page_num":"0","height":"0.017421602252187474","width":"0.03197674294735524","par_num":"0","level":"0","line_num":"0","block_num":"0","top":"0.9198606275759968","text":"S Jira Cloud","word_num":"0","conf":"0.5"},{"page_num":"0","width":"0.023255812360885295","height":"0.017766144857452204","block_num":"0","top":"0.9407665505780702","par_num":"0","level":"0","conf":"0.30000001192092896","left":"0.03343023412519857","line_num":"0","text":"® Toast","word_num":"0"},{"block_num":"0","level":"0","top":"0.006968641450188162","left":"0.09302325755713681","width":"0.01598837020549368","text":"Miston","par_num":"0","height":"0.006968640444571461","line_num":"0","word_num":"0","conf":"0.30000001192092896","page_num":"0"},{"height":"0.017421602252187585","width":"0.01744185990475594","page_num":"0","par_num":"0","top":"-0.00000000002272559918026218","left":"0.11482558143328095","text":"Window","block_num":"0","level":"0","line_num":"0","word_num":"0","conf":"1"},{"block_num":"0","width":"0.07267441648118039","left":"0.14098837474722473","par_num":"0","top":"0.027874564683673886","conf":"1","level":"0","line_num":"0","word_num":"0","height":"0.017579980634236048","text":"Q Describe what you are looking for","page_num":"0"},{"text":"Nikolay Yankov","page_num":"0","left":"0.113372094092083","level":"0","conf":"0.5","par_num":"0","width":"0.05377906941353007","block_num":"0","top":"0.06271777048382365","word_num":"0","height":"0.021014286570571916","line_num":"0"},{"block_num":"0","level":"0","width":"0.024709300791963637","conf":"1","height":"0.01059744650857486","line_num":"0","text":"• Messages","top":"0.10104529652728955","page_num":"0","par_num":"0","left":"0.10465116432315079","word_num":"0"},{"par_num":"0","conf":"0.30000001192092896","width":"0.02906976354883073","page_num":"0","line_num":"0","top":"0.1044657097288676","left":"0.1351744195663418","level":"0","word_num":"0","height":"0.0071770334928229484","text":"Add canva","block_num":"0"},{"conf":"0.30000001192092896","top":"0.1044657097288676","word_num":"0","level":"0","left":"0.17151162836593073","height":"0.0071770334928229484","line_num":"0","par_num":"0","text":"Ur Files","width":"0.015988371473677626","page_num":"0","block_num":"0"},{"left":"0.11627907679708259","block_num":"0","line_num":"0","par_num":"0","top":"0.1324041812780874","width":"0.15988371220040826","height":"0.017421602252187585","text":"https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2","level":"0","word_num":"0","conf":"1","page_num":"0"},{"left":"0.2776162877995917","text":"Friday, April 24th ~/Http/Controllers/FrontendControllerTrait.php#L122","width":"0.1598837122004083","word_num":"0","height":"0.01754385964912286","block_num":"0","level":"0","page_num":"0","par_num":"0","line_num":"0","top":"0.13237639553429026","conf":"1"},{"word_num":"0","page_num":"0","left":"0.11627907424315208","top":"0.16347687386607168","block_num":"0","height":"0.007254833239687675","line_num":"0","level":"0","text":"но при други не знам точно как става и от кьде го взима","conf":"0.5","par_num":"0","width":"0.13226742440081657"},{"height":"0.01070581098492629","par_num":"0","width":"0.06540697178942091","left":"0.11773256307080245","line_num":"0","text":"та Галя ми писа да го видим","word_num":"0","block_num":"0","page_num":"0","top":"0.18466898977425128","level":"0","conf":"1"},{"par_num":"0","level":"0","conf":"1","width":"0.11773254516276907","left":"0.11627908270780218","line_num":"0","height":"0.010580774699672002","block_num":"0","page_num":"0","top":"0.20893141959157524","text":"доколкото виждам, тази трябва да е окей иконата","word_num":"0"},{"level":"0","block_num":"0","conf":"0.30000001192092896","par_num":"0","line_num":"0","width":"0.07848836513275795","left":"0.11773255769524932","word_num":"0","page_num":"0","top":"0.22996515712963062","height":"0.006968640444571461","text":"atminny/app/puottc/atmunny_c.ong"},{"height":"0.014354066985645897","line_num":"0","block_num":"0","page_num":"0","left":"0.11773256085283156","conf":"1","level":"0","par_num":"0","text":"Lukas Kovalik 2:41 PM","width":"0.04941860158392723","word_num":"0","top":"0.24720893141945777"},{"par_num":"0","block_num":"0","height":"0.013937282410154683","left":"0.11627907082495524","level":"0","line_num":"0","conf":"1","text":"ще го погледна","width":"0.03924418510274684","word_num":"0","top":"0.28919860606553827","page_num":"0"},{"height":"0.006968640444571461","top":"0.3170731710669128","level":"0","left":"0.11627906981127394","page_num":"0","par_num":"0","width":"0.05377906434079434","text":"Nikolav Yankov 2:41PM","block_num":"0","word_num":"0","line_num":"0","conf":"0.30000001192092896"},{"page_num":"0","width":"0.052325578446083876","conf":"0.30000001192092896","line_num":"0","left":"0.11773256076435365","height":"0.007352082923268499","text":"Nikolav Yankov 7:44 PM","par_num":"0","top":"0.3658536586200556","word_num":"0","level":"0","block_num":"0"},{"block_num":"0","par_num":"0","level":"0","text":"Лукає за понелелник виж коментаnа от claude","left":"0.11773255504382633","page_num":"0","conf":"0.5","top":"0.3832752612744097","line_num":"0","width":"0.11046512076195249","height":"0.006968641205077342","word_num":"0"},{"word_num":"0","height":"0.013937282410154794","line_num":"0","text":"https://github.com/jiminny/app/pull/11998","width":"0.09593023137843355","conf":"1","level":"0","top":"0.39721254345335355","par_num":"0","page_num":"0","block_num":"0","left":"0.11773255865671346"},{"block_num":"0","par_num":"0","left":"0.2892441862540174","level":"0","width":"0.01744185990475594","line_num":"0","word_num":"0","page_num":"0","text":"Todayv","conf":"0.30000001192092896","height":"0.006968641205077342","top":"0.4355400696123277"},{"width":"0.05377906941353007","word_num":"0","conf":"0.5","height":"0.013937282410154794","line_num":"0","text":"Lukas Kovalik 10:20 AM","top":"0.45993031338261137","par_num":"0","block_num":"0","left":"0.11773255943718407","level":"0","page_num":"0"},{"level":"0","line_num":"0","top":"0.4808362374525167","height":"0.010452960286604362","word_num":"0","text":"направих една малка промяна в крайна сметка, комитнах го","left":"0.11773256622145793","conf":"1","block_num":"0","width":"0.1380813882706013","page_num":"0","par_num":"0"},{"line_num":"0","height":"0.006968641205077342","block_num":"0","top":"0.5052264807820203","word_num":"0","level":"0","par_num":"0","text":"Nikolav Vankov 10-20AM","page_num":"0","conf":"0.5","left":"0.11773255683554235","width":"0.055232560380976264"},{"height":"0.007188147525087674","conf":"0.5","page_num":"0","level":"0","block_num":"0","par_num":"0","top":"0.5470383276400758","text":"Lukas Kovallik 10-20 AM","word_num":"0","line_num":"0","width":"0.05087209255137341","left":"0.11773255938504366"},{"par_num":"0","word_num":"0","block_num":"0","width":"0.07267441648118038","height":"0.0073104049220229506","conf":"0.5","line_num":"0","left":"0.11773256023955285","level":"0","page_num":"0","text":"това за flavicon има ли си тикет","top":"0.5644599301598978"},{"width":"0.055232555308240505","page_num":"0","text":"Nikolav Yankov 10:21 AM","height":"0.007302069017571466","conf":"0.30000001192092896","line_num":"0","left":"0.11773256080146427","level":"0","top":"0.5885167463624611","block_num":"0","par_num":"0","word_num":"0"},{"page_num":"0","left":"0.11627906851058986","top":"0.6547049442879459","conf":"1","word_num":"0","line_num":"0","block_num":"0","level":"0","height":"0.007315961177649544","width":"0.052325578446083876","text":"ако искаш си направи","par_num":"0"},{"level":"0","text":"даже по-дооре да има","height":"0.0071770334928229484","line_num":"0","width":"0.05377906941353007","word_num":"0","conf":"1","left":"0.11627907003340922","page_num":"0","top":"0.6794258373205742","par_num":"0","block_num":"0"},{"left":"0.11773255943718407","par_num":"0","top":"0.6968641114980333","line_num":"0","block_num":"0","conf":"1","width":"0.05377906941353007","word_num":"0","page_num":"0","height":"0.01764944523715517","text":"Lukas Kovalik 10:21 AM","level":"0"},{"conf":"1","page_num":"0","top":"0.7177033492568089","par_num":"0","word_num":"0","height":"0.010519646761710133","level":"0","text":"хубаво да направим, доста време ми отнеме и май трябва с Вес така иначе да се види","width":"0.19912790744862657","line_num":"0","block_num":"0","left":"0.11773255809647624"},{"par_num":"0","word_num":"0","text":"от S3 изглежда идва","level":"0","top":"0.742160279154372","width":"0.04941860158392722","conf":"1","height":"0.010630789365874915","block_num":"0","page_num":"0","left":"0.11627907366496457","line_num":"0"},{"level":"0","page_num":"0","block_num":"0","par_num":"0","top":"0.7630662018843535","left":"0.11773255937818321","line_num":"0","width":"0.0566860462756867","word_num":"0","conf":"1","text":"Nikolay Yankov 10:22 AM","height":"0.013937282410154683"},{"word_num":"0","block_num":"0","page_num":"0","top":"0.7839721257707456","line_num":"0","width":"0.024709300791963623","height":"0.006968640444571572","par_num":"0","text":"интепесно","conf":"0.30000001192092896","left":"0.11773256014180877","level":"0"},{"line_num":"0","left":"0.11773255937818321","block_num":"0","conf":"1","level":"0","top":"0.804625199137703","par_num":"0","text":"Nikolay Yankov 12:32 PM","width":"0.0566860462756867","height":"0.017674452190003742","word_num":"0","page_num":"0"},{"top":"0.8221690591125324","height":"0.017552194793068354","text":"Пуснах пак ревю, я виж какво е написало","conf":"1","page_num":"0","block_num":"0","level":"0","width":"0.09738372234587973","left":"0.11773255855318647","word_num":"0","line_num":"0","par_num":"0"},{"width":"0.2005813882706013","level":"0","conf":"0.5","height":"0.0071770334928230595","page_num":"0","par_num":"0","text":"това, це на всяка стпаница плавим тази заявка ше ни забави ли системата спопел теб?","left":"0.11627907656195002","word_num":"0","block_num":"0","line_num":"0","top":"0.8500797448165869"},{"page_num":"0","block_num":"0","left":"0.11773256231766678","top":"0.8641114981540811","level":"0","width":"0.07412790237589083","line_num":"0","word_num":"0","par_num":"0","height":"0.013937282410154683","conf":"1","text":"трябва ли да го вкарваме в кеш"},{"par_num":"0","level":"0","height":"0.010475189872145463","left":"0.1061046334465927","line_num":"0","page_num":"0","text":"Ники поглелнах по comment oт claude. По принцип е прав ако има клиент със лесетки хиляли ресултати и user бе нито елин трябва ла мине през всички ла го","block_num":"0","width":"0.3691860361302153","top":"0.905901116413532","conf":"1","word_num":"0"},{"page_num":"0","top":"0.9268292682271396","height":"0.006968641205077342","left":"0.10610465056352356","text":"установим","level":"0","conf":"1","block_num":"0","par_num":"0","width":"0.026162791759409804","line_num":"0","word_num":"0"},{"page_num":"0","line_num":"0","left":"0.8343023231926572","block_num":"0","top":"0.00000000033500369145400555","width":"0.16133721331332584","conf":"0.30000001192092896","height":"0.020905922094220375","word_num":"0","text":"Q4@ ẞ 10%4 & Mon27 Apr 18:56:04","level":"0","par_num":"0"},{"par_num":"0","left":"0.47674418604651164","text":"","page_num":"0","conf":"0.30000001192092896","height":"0.017421602206736386","line_num":"0","top":"0.02787456492450635","block_num":"0","level":"0","width":"0.008720929941860467","word_num":"0"},{"text":"*","top":"0.027874564982578343","left":"0.890988372238372","line_num":"0","page_num":"0","level":"0","par_num":"0","height":"0.02090592282229975","word_num":"0","block_num":"0","width":"0.007267441678779241","conf":"0.5"},{"par_num":"0","level":"0","text":"Al reports promotion pages #11998","top":"0.06271777012826163","conf":"1","height":"0.017421602252187585","left":"0.5029069814629333","width":"0.08284883296236079","block_num":"0","page_num":"0","word_num":"0","line_num":"0"},{"top":"0.08362369354010668","level":"0","par_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","height":"0.010475189872145352","block_num":"0","line_num":"0","left":"0.5029069820341029","width":"0.21947674041098741","conf":"1","word_num":"0","page_num":"0"},{"word_num":"0","page_num":"0","par_num":"0","height":"0.007327075970420038","conf":"0.30000001192092896","text":"ranoramakeportsrrono leatures gria nou","block_num":"0","line_num":"0","top":"0.10765550223535247","width":"0.08720929571922797","level":"0","left":"0.515988370209941"},{"line_num":"0","level":"0","top":"0.10446570957187562","par_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.6206395320015682","height":"0.010516868633896892","page_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","width":"0.12936045261139562","word_num":"0"},{"block_num":"0","left":"0.5145348831763734","level":"0","page_num":"0","text":"1eseeis","top":"0.12543554003627422","width":"0.023255814897253146","word_num":"0","height":"0.003484320602538671","line_num":"0","conf":"0.30000001192092896","par_num":"0"},{"par_num":"0","width":"0.04069767099745736","level":"0","page_num":"0","word_num":"0","text":"added at line 170","left":"0.6206395381627619","block_num":"0","height":"0.017571645490290444","conf":"1","top":"0.11483253561555695","line_num":"0"},{"block_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","page_num":"0","par_num":"0","left":"0.6206395418231858","level":"0","line_num":"0","word_num":"0","top":"0.14274322169059017","conf":"1","width":"0.1308139435788419","height":"0.01754385964912275"},{"word_num":"0","page_num":"0","par_num":"0","left":"0.5145348893682301","height":"0.017621659395987477","conf":"1","level":"0","text":"Wording inconsistency (modal vs inline)","top":"0.15311004759362778","width":"0.08720929571922786","block_num":"0","line_num":"0"},{"text":"as possible.","word_num":"0","conf":"0.5","top":"0.16724738673389183","height":"0.006968641205077342","left":"0.6206395362891324","level":"0","width":"0.027616277654120225","block_num":"0","page_num":"0","line_num":"0","par_num":"0"},{"height":"0.006968640444571461","left":"0.514534888937681","block_num":"0","par_num":"0","top":"0.1951219515547178","width":"0.08866277654120269","text":"nrer compured calling can( a secona","conf":"0.30000001192092896","line_num":"0","page_num":"0","word_num":"0","level":"0"},{"text":"Fixed - canManageAiReports extracted as a shared","top":"0.18815330979979739","left":"0.620639539097222","conf":"1","par_num":"0","height":"0.0175883172991933","width":"0.11482557337334798","word_num":"0","page_num":"0","block_num":"0","level":"0","line_num":"0"},{"height":"0.017421602252187474","page_num":"0","text":"computed","width":"0.023255812360885253","line_num":"0","par_num":"0","level":"0","left":"0.6220930244397125","block_num":"0","conf":"1","top":"0.20557491298540453","word_num":"0"},{"level":"0","line_num":"0","top":"0.20557491302895847","left":"0.5145348842644298","width":"0.011627906180442626","word_num":"0","conf":"1","block_num":"0","page_num":"0","height":"0.017421602252187585","par_num":"0","text":"time"},{"block_num":"0","conf":"1","page_num":"0","text":"trackInterest endpoint missing rate","height":"0.017746694160230114","left":"0.5159883762736059","level":"0","par_num":"0","line_num":"0","top":"0.23344947777831704","width":"0.08284883296236079","word_num":"0"},{"top":"0.25435540103206966","text":"limitina","par_num":"0","width":"0.015988370205493596","word_num":"0","line_num":"0","conf":"1","page_num":"0","height":"0.006968640444571461","block_num":"0","level":"0","left":"0.5145348854641136"},{"word_num":"0","conf":"1","block_num":"0","page_num":"0","level":"0","line_num":"0","left":"0.6206395358560387","par_num":"0","text":"Still present (see below)","top":"0.24003189772282119","height":"0.017807823619203744","width":"0.05523255530824056"},{"height":"0.017613322731030334","conf":"1","page_num":"0","par_num":"0","level":"0","block_num":"0","word_num":"0","left":"0.49854651467944094","top":"0.31339712947633447","text":"Remaining issues","width":"0.049418601583927246","line_num":"0"},{"conf":"0.5","height":"0.017596652443139016","text":". Extra DB query still fires on every page load","line_num":"0","level":"0","width":"0.10319766592472168","block_num":"0","left":"0.500000004738088","page_num":"0","par_num":"0","top":"0.34843205595226867","word_num":"0"},{"par_num":"0","width":"0.24709301806510764","word_num":"0","block_num":"0","left":"0.4999999984771364","top":"0.3763066205923885","line_num":"0","page_num":"0","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","height":"0.017632773428252313","level":"0","conf":"1"},{"height":"0.010708589112739642","level":"0","par_num":"0","page_num":"0","line_num":"0","block_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).","top":"0.4178628388386477","width":"0.2194767201200445","conf":"1","left":"0.502907000810188","word_num":"0"},{"line_num":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","page_num":"0","par_num":"0","top":"0.45993031375224214","conf":"0.5","width":"0.24127905419532292","block_num":"0","left":"0.5000000072941873","height":"0.017741137904603743","level":"0","word_num":"0"},{"level":"0","block_num":"0","conf":"1","height":"0.013937282410154683","line_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","left":"0.49999999992732563","par_num":"0","width":"0.25000000000000006","top":"0.4773519162821602","word_num":"0","page_num":"0"},{"block_num":"0","height":"0.020967051553193783","top":"0.4912280702286602","word_num":"0","level":"0","left":"0.5014534918272605","par_num":"0","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","conf":"1","line_num":"0","page_num":"0","width":"0.24854649888708236"},{"level":"0","height":"0.010686361048210191","par_num":"0","conf":"0.5","left":"0.5000000058253165","width":"0.22819764563377865","block_num":"0","line_num":"0","text":"ISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as the","top":"0.5119617223575448","word_num":"0","page_num":"0"},{"par_num":"0","width":"0.08720930586469933","height":"0.0073381900026847635","text":"uaaested mitiaations (in order of effort):","left":"0.5014534853695082","conf":"1","top":"0.5606060607314207","page_num":"0","level":"0","block_num":"0","word_num":"0","line_num":"0"},{"height":"0.01754385964912286","block_num":"0","conf":"1","par_num":"0","width":"0.17587209255137348","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","page_num":"0","top":"0.5853269537480064","left":"0.5014534869745092","level":"0","word_num":"0","line_num":"0"},{"page_num":"0","top":"0.6027874571526035","block_num":"0","width":"0.23982555308240527","level":"0","conf":"0.5","height":"0.01762721565161396","word_num":"0","line_num":"0","par_num":"0","left":"0.5058139713227934","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if"},{"width":"0.12354649888708236","height":"0.007352082923268499","text":"transtorm() Is called multiple times in a single response","word_num":"0","line_num":"0","top":"0.6267942582824599","block_num":"0","page_num":"0","conf":"0.5","level":"0","par_num":"0","left":"0.5072674434499944"},{"width":"0.2558139435788418","left":"0.5000000099048465","page_num":"0","word_num":"0","block_num":"0","conf":"1","height":"0.017421602252187474","level":"0","line_num":"0","par_num":"0","text":"• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/","top":"0.6376306621143244"},{"par_num":"0","text":"deletion pipeline — eliminates the querv entirelv.","top":"0.6618819776714514","word_num":"0","width":"0.10465115689216775","left":"0.5058139616289973","height":"0.0071770334928229484","level":"0","block_num":"0","page_num":"0","conf":"1","line_num":"0"},{"word_num":"0","block_num":"0","conf":"0.5","page_num":"0","left":"0.5000000014415185","text":"Fix this →","top":"0.6864111496195452","line_num":"0","level":"0","height":"0.013937282410154683","par_num":"0","width":"0.021802323929806966"},{"conf":"1","page_num":"0","left":"0.5000000095556179","block_num":"0","height":"0.017807823619203744","text":"2. trackInterest endpoint has no rate limit or idempotency guard","line_num":"0","top":"0.742160278657975","width":"0.15406975847609505","level":"0","par_num":"0","word_num":"0"},{"word_num":"0","conf":"1","par_num":"0","left":"0.49997788082196515","page_num":"0","width":"0.22823879566598448","block_num":"0","height":"0.01525778519479859","line_num":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","level":"0","top":"0.7722896034177436"},{"conf":"0.5","width":"0.02470930332833149","left":"0.4999999995712994","word_num":"0","level":"0","line_num":"0","height":"0.006968641205077342","text":"pi.php:282","par_num":"0","page_num":"0","block_num":"0","top":"0.7944250870834626"},{"height":"0.021122651046923346","block_num":"0","left":"0.5029069762911409","top":"0.8325358853529533","text":"public function trackInterest(Request srequest): JsonResponse","level":"0","line_num":"0","width":"0.14534883296236079","conf":"0.5","page_num":"0","par_num":"0","word_num":"0"},{"height":"0.0071770334928229484","par_num":"0","page_num":"0","top":"0.8604465709728868","block_num":"0","width":"0.23255810839064572","conf":"0.5","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs@:l","left":"0.5116279148651706","line_num":"0","level":"0","word_num":"0"},{"level":"0","block_num":"0","par_num":"0","page_num":"0","height":"0.010647460414272003","width":"0.25290696164394955","conf":"1","word_num":"0","line_num":"0","left":"0.5000000190354208","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","top":"0.9266347687970263"},{"left":"0.49999262683224","level":"0","conf":"1","height":"0.018647765809078898","page_num":"0","par_num":"0","top":"0.9401534681773605","word_num":"0","block_num":"0","line_num":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","width":"0.24420076735476226"},{"text":"racking noise in analytics.","block_num":"0","par_num":"0","height":"0.017421602252187474","page_num":"0","line_num":"0","level":"0","word_num":"0","width":"0.05668604627568663","top":"0.958188153403523","conf":"1","left":"0.5000000013824143"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4717
|
NULL
|
NULL
|
|
89213
|
HomeActivityFllesMoreSlackVIewJiminny ...@ jiminny HomeActivityFllesMoreSlackVIewJiminny ...@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga mlatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...A Direct messagesP Galya DimitrovaR. Aneliya Angelova€. Vasil Vasilev3 Aneliya Angelova,...P. Nikolay YankovC. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela Dureva#::AnndS Jira Cloud® ToastMistonWindowQ Describe what you are looking forNikolay Yankov• MessagesAdd canvaUr Fileshttps://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2Friday, April 24th ~/Http/Controllers/FrontendControllerTrait.php#L122но при други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/puottc/atmunny_c.ongLukas Kovalik 2:41 PMще го погледнаNikolav Yankov 2:41PMNikolav Yankov 7:44 PMЛукає за понелелник виж коментаnа от claudehttps://github.com/jiminny/app/pull/11998TodayvLukas Kovalik 10:20 AMнаправих една малка промяна в крайна сметка, комитнах гоNikolav Vankov 10-20AMLukas Kovallik 10-20 AMтова за flaviсon има ли си тикетNikolav Yankov 10:21 AMако искаш си направидаже по-дооре да имаLukas Kovalik 10:21 AMхубаво да направим, доста време ми отнеме и май трябва с Вес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMинтепесноNikolay Yankov 12:32 PMПуснах пак ревю, я виж какво е написалотова, це на всяка стпаница плавим тази заявка ше ни забави ли системата спопел теб?трябва ли да го вкарваме в кешНики поглелнах по comment oт claude. По принцип е прав ако има клиент със лесетки хиляли ресултати и user бе нито елин трябва ла мине през всички ла гоустановим. Това може да е по-бавно, въпрехи че си e edge case+ Aaщ4@ п 100%4 8 Mon27 Apr 18:56:32*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can( a seconaFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs@:lThe frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"height":"0.013937282410154683", [{"height":"0.013937282410154683","par_num":"0","width":"0.011627906180442649","word_num":"0","page_num":"0","left":"0.0058139540803213065","conf":"1","block_num":"0","text":"Home","top":"0.13588850153592147","line_num":"0","level":"0"},{"word_num":"0","conf":"1","line_num":"0","page_num":"0","height":"0.017421602252187585","par_num":"0","left":"0.004360465697692593","text":"Activity","level":"0","block_num":"0","top":"0.24390243911780862","width":"0.014534883042599294"},{"block_num":"0","level":"0","left":"0.0072674419278807864","height":"0.017421602252187474","conf":"0.5","line_num":"0","word_num":"0","page_num":"0","top":"0.29965156806670534","width":"0.00872092995237797","text":"Flles","par_num":"0"},{"par_num":"0","conf":"1","text":"More","top":"0.407665505020242","level":"0","line_num":"0","left":"0.0058139540803213065","word_num":"0","width":"0.011627906180442649","block_num":"0","page_num":"0","height":"0.013937282410154683"},{"width":"0.01453488304259929","top":"-0.00000000002272559918026218","block_num":"0","word_num":"0","height":"0.017421602252187585","text":"Slack","par_num":"0","level":"0","conf":"1","line_num":"0","left":"0.015988372286839896","page_num":"0"},{"text":"VIew","top":"0.00696864102015915","width":"0.010174418383456299","word_num":"0","left":"0.06395348841001604","height":"0.006968641205077342","level":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","block_num":"0","par_num":"0"},{"block_num":"0","left":"0.027616280972991777","top":"0.06937799032465086","conf":"0.5","line_num":"0","level":"0","par_num":"0","text":"Jiminny ...","height":"0.010761381906755907","word_num":"0","page_num":"0","width":"0.02906976608519858"},{"block_num":"0","word_num":"0","width":"0.04941860158392724","page_num":"0","par_num":"0","left":"0.03343023162082732","conf":"0.30000001192092896","height":"0.010452960286604362","level":"0","line_num":"0","text":"@ jiminny-x-integrati","top":"0.09407665591941561"},{"block_num":"0","line_num":"0","level":"0","text":"& platform-inner-team","par_num":"0","width":"0.05377906941353006","word_num":"0","conf":"0.5","height":"0.017571645490290444","left":"0.03343023206285708","page_num":"0","top":"0.11483253574621899"},{"line_num":"0","block_num":"0","page_num":"0","text":"© Channels","top":"0.14274322169059017","word_num":"0","width":"0.029069766085198585","conf":"0.30000001192092896","height":"0.01754385964912275","level":"0","par_num":"0","left":"0.029069768796061723"},{"conf":"1","left":"0.0333854731523376","text":"# ai-chapter","par_num":"0","width":"0.03351975248215046","page_num":"0","level":"0","line_num":"0","height":"0.01843704941550317","word_num":"0","block_num":"0","top":"0.16673966325440914"},{"block_num":"0","line_num":"0","conf":"0.5","height":"0.01758831577818165","level":"0","left":"0.033430233468533056","top":"0.18815331079259123","width":"0.021802323929806973","par_num":"0","text":"# alerts","page_num":"0","word_num":"0"},{"word_num":"0","left":"0.034883720326690446","level":"0","par_num":"0","text":"i backend","height":"0.007257612128006796","block_num":"0","line_num":"0","conf":"0.30000001192092896","top":"0.2160278744399171","page_num":"0","width":"0.026162791759409804"},{"page_num":"0","par_num":"0","text":"# confusion-clinic","conf":"0.5","level":"0","block_num":"0","left":"0.033430233663020295","height":"0.017746694160230114","top":"0.23344947777831704","width":"0.045058138827060126","line_num":"0","word_num":"0"},{"page_num":"0","height":"0.014354066985645897","par_num":"0","line_num":"0","left":"0.03343023341543612","conf":"1","level":"0","block_num":"0","text":"# curiosity_lab","top":"0.25757575757575757","word_num":"0","width":"0.037790696671668525"},{"left":"0.03343023248338709","block_num":"0","word_num":"0","height":"0.017421602252187585","level":"0","par_num":"0","width":"0.03633720824059019","line_num":"0","conf":"1","top":"0.2787456450411536","text":"# engineering","page_num":"0"},{"word_num":"0","height":"0.010558546635142552","level":"0","block_num":"0","page_num":"0","left":"0.03343023460359518","conf":"0.5","line_num":"0","top":"0.3030303029362562","width":"0.026162789223041938","text":"# generall","par_num":"0"},{"top":"0.3237639551848104","page_num":"0","line_num":"0","height":"0.017699459142852314","par_num":"0","text":"# infra-changes","left":"0.033430233678823834","width":"0.04069767353382517","word_num":"0","level":"0","block_num":"0","conf":"1"},{"left":"0.03343023267189024","height":"0.017421602252187474","line_num":"0","par_num":"0","text":"# jiminny-bg","word_num":"0","top":"0.3449477351689121","block_num":"0","width":"0.03343023137843355","level":"0","conf":"1","page_num":"0"},{"width":"0.04360465293234968","word_num":"0","level":"0","page_num":"0","par_num":"0","conf":"0.30000001192092896","block_num":"0","height":"0.006968641205077342","left":"0.03343023160068563","line_num":"0","text":"a mlatorm-nckets","top":"0.3728222995949062"},{"height":"0.01771335206343605","left":"0.03343023562535342","text":"# product_launches","top":"0.3899521529042582","word_num":"0","block_num":"0","conf":"1","width":"0.04941860158392724","page_num":"0","level":"0","par_num":"0","line_num":"0"},{"height":"0.010452960286604362","level":"0","top":"0.41463414720861425","word_num":"0","block_num":"0","left":"0.033430231987316365","line_num":"0","conf":"1","text":"# random","width":"0.026162789223041945","page_num":"0","par_num":"0"},{"text":"# releases","level":"0","block_num":"0","par_num":"0","top":"0.43540669856459324","width":"0.02761627765412026","page_num":"0","word_num":"0","height":"0.014354066985646008","left":"0.033430233971852706","conf":"1","line_num":"0"},{"text":"# sofia-office","width":"0.034883719809511875","page_num":"0","line_num":"0","level":"0","height":"0.017727244984020007","top":"0.45614035056563407","left":"0.03343023258555416","word_num":"0","block_num":"0","conf":"1","par_num":"0"},{"top":"0.48083623672755915","page_num":"0","conf":"0.5","block_num":"0","height":"0.013937282410154683","par_num":"0","width":"0.027616277654120266","word_num":"0","left":"0.033430233969918705","level":"0","line_num":"0","text":"# support"},{"line_num":"0","level":"0","par_num":"0","block_num":"0","top":"0.5015948961656965","width":"0.03488371980951188","word_num":"0","left":"0.0334302336998952","page_num":"0","height":"0.017568866601971322","text":"# thank-yous","conf":"1"},{"conf":"0.5","level":"0","width":"0.05523255530824053","height":"0.017741137904603632","line_num":"0","block_num":"0","left":"0.033430235379805606","par_num":"0","page_num":"0","text":"# the_people_of jimi...","top":"0.5223285484012261","word_num":"0"},{"par_num":"0","width":"0.04385969993915964","conf":"1","page_num":"0","left":"0.028943613485541628","text":"A Direct messages","line_num":"0","top":"0.5562816166068031","height":"0.012721099731834662","word_num":"0","block_num":"0","level":"0"},{"par_num":"0","top":"0.5749128923237498","page_num":"0","height":"0.017591094666500773","block_num":"0","line_num":"0","level":"0","conf":"0.30000001192092896","left":"0.03343023550429098","text":"P Galya Dimitrova","width":"0.05232557844608388","word_num":"0"},{"text":"R. Aneliya Angelova","page_num":"0","left":"0.03197674569575711","top":"0.5956937797519628","width":"0.04941860158392724","block_num":"0","conf":"0.5","height":"0.021030958379474662","par_num":"0","level":"0","word_num":"0","line_num":"0"},{"level":"0","par_num":"0","width":"0.03633720824059019","word_num":"0","left":"0.03343023252693484","block_num":"0","line_num":"0","page_num":"0","top":"0.6202090596724255","text":"€. Vasil Vasilev","height":"0.017749473048549347","conf":"0.5"},{"height":"0.017682787333949346","block_num":"0","width":"0.05232557844608388","conf":"0.5","top":"0.6443381180735741","par_num":"0","line_num":"0","text":"3 Aneliya Angelova,...","level":"0","page_num":"0","word_num":"0","left":"0.033430235507062984"},{"line_num":"0","par_num":"0","text":"P. Nikolay Yankov","left":"0.03343023364877599","level":"0","page_num":"0","conf":"0.30000001192092896","width":"0.04215116196490349","word_num":"0","height":"0.017421602252187585","block_num":"0","top":"0.6655052266178086"},{"width":"0.04215116196490349","line_num":"0","par_num":"0","conf":"0.5","height":"0.0177355801279655","top":"0.6864111500801692","word_num":"0","block_num":"0","left":"0.0334302320269567","level":"0","text":"C. Nikolay Ivanov","page_num":"0"},{"level":"0","block_num":"0","width":"0.045058138827060126","word_num":"0","par_num":"0","line_num":"0","top":"0.710526315793022","conf":"0.5","left":"0.033430233608541776","text":"R. Nikolay Nikolov","height":"0.01769668025453308","page_num":"0"},{"level":"0","height":"0.017421602252187585","par_num":"0","text":"fl. Stefka Stoyanova","left":"0.0334302335307816","line_num":"0","page_num":"0","conf":"0.30000001192092896","width":"0.04796511568921677","word_num":"0","block_num":"0","top":"0.7317073172101431"},{"conf":"1","top":"0.752613240720201","word_num":"0","block_num":"0","par_num":"0","width":"0.04505813882706013","left":"0.03343023190749662","level":"0","page_num":"0","text":"R. Adelina Petrova","height":"0.017721687207381653","line_num":"0"},{"top":"0.7767145135705419","word_num":"0","page_num":"0","height":"0.01771057317511704","block_num":"0","text":"R. Stoyan Tomov","level":"0","line_num":"0","left":"0.03343023367505823","par_num":"0","width":"0.04069767353382516","conf":"0.5"},{"block_num":"0","line_num":"0","level":"0","par_num":"0","word_num":"0","text":"( Petko Kashinski","width":"0.043604647859613946","page_num":"0","conf":"1","top":"0.8013937287417153","height":"0.010452960286604362","left":"0.0334302366242539"},{"word_num":"0","top":"0.8221690590544602","left":"0.033430233608541776","block_num":"0","par_num":"0","width":"0.045058138827060126","text":"88. Mario Georgiev","level":"0","line_num":"0","page_num":"0","height":"0.017552194793068465","conf":"0.5"},{"level":"0","block_num":"0","word_num":"0","top":"0.8466898963487846","height":"0.010566881779088155","width":"0.043604647859613946","left":"0.03343023662617514","text":"Ss: Todor Stamatov.","line_num":"0","conf":"0.5","page_num":"0","par_num":"0"},{"left":"0.033430233608541776","line_num":"0","level":"0","text":"Pa Gabriela Dureva","top":"0.8675958186090923","block_num":"0","page_num":"0","width":"0.045058138827060126","word_num":"0","conf":"0.5","height":"0.013937282410154683","par_num":"0"},{"level":"0","line_num":"0","top":"0.8989547046999035","left":"0.027616278907612524","block_num":"0","page_num":"0","height":"0.010452960286604362","par_num":"0","text":"#::Annd","width":"0.020348835498728648","word_num":"0","conf":"0.30000001192092896"},{"height":"0.017421602252187474","conf":"0.5","word_num":"0","top":"0.9198606275759968","width":"0.03197674294735524","par_num":"0","block_num":"0","page_num":"0","left":"0.03343023298627709","line_num":"0","text":"S Jira Cloud","level":"0"},{"top":"0.9407665505780702","height":"0.017766144857452204","line_num":"0","width":"0.023255812360885295","page_num":"0","level":"0","block_num":"0","par_num":"0","conf":"0.30000001192092896","left":"0.03343023412519857","word_num":"0","text":"® Toast"},{"line_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.09302325755713681","par_num":"0","level":"0","height":"0.006968640444571461","text":"Miston","top":"0.006968641450188162","page_num":"0","width":"0.01598837020549368","word_num":"0"},{"width":"0.01744185990475594","level":"0","line_num":"0","page_num":"0","word_num":"0","text":"Window","top":"-0.00000000002272559918026218","block_num":"0","par_num":"0","conf":"1","height":"0.017421602252187585","left":"0.11482558143328095"},{"par_num":"0","line_num":"0","page_num":"0","block_num":"0","left":"0.14098837474722473","text":"Q Describe what you are looking for","word_num":"0","height":"0.017579980634236048","top":"0.027874564683673886","width":"0.07267441648118039","level":"0","conf":"1"},{"par_num":"0","text":"Nikolay Yankov","conf":"0.5","top":"0.06271777048382365","word_num":"0","height":"0.021014286570571916","block_num":"0","level":"0","left":"0.113372094092083","line_num":"0","page_num":"0","width":"0.05377906941353007"},{"height":"0.01059744650857486","top":"0.10104529652728955","conf":"1","left":"0.10465116432315079","block_num":"0","level":"0","par_num":"0","text":"• Messages","width":"0.024709300791963637","word_num":"0","line_num":"0","page_num":"0"},{"height":"0.0071770334928229484","par_num":"0","left":"0.1351744195663418","page_num":"0","conf":"0.30000001192092896","level":"0","block_num":"0","top":"0.1044657097288676","width":"0.02906976354883073","text":"Add canva","line_num":"0","word_num":"0"},{"left":"0.17151162836593073","block_num":"0","line_num":"0","page_num":"0","height":"0.0071770334928229484","level":"0","par_num":"0","text":"Ur Files","conf":"0.30000001192092896","width":"0.015988371473677626","word_num":"0","top":"0.1044657097288676"},{"text":"https://github.com/jiminny/app/blob/fb01b96ae7a4635bc86648b82c2","left":"0.11627907679708259","par_num":"0","page_num":"0","line_num":"0","level":"0","block_num":"0","height":"0.017421602252187585","top":"0.1324041812780874","width":"0.15988371220040826","word_num":"0","conf":"1"},{"page_num":"0","top":"0.13237639553429026","conf":"1","text":"Friday, April 24th ~/Http/Controllers/FrontendControllerTrait.php#L122","block_num":"0","width":"0.1598837122004083","word_num":"0","left":"0.2776162877995917","level":"0","line_num":"0","height":"0.01754385964912286","par_num":"0"},{"height":"0.007254833239687675","line_num":"0","block_num":"0","left":"0.11627907424315208","conf":"0.5","par_num":"0","top":"0.16347687386607168","level":"0","text":"но при други не знам точно как става и от кьде го взима","width":"0.13226742440081657","page_num":"0","word_num":"0"},{"left":"0.11773256307080245","top":"0.18466898977425128","width":"0.06540697178942091","line_num":"0","word_num":"0","page_num":"0","height":"0.01070581098492629","block_num":"0","conf":"1","level":"0","par_num":"0","text":"та Галя ми писа да го видим"},{"height":"0.010580774699672002","width":"0.11773254516276907","level":"0","block_num":"0","text":"доколкото виждам, тази трябва да е окей иконата","conf":"1","top":"0.20893141959157524","left":"0.11627908270780218","word_num":"0","par_num":"0","page_num":"0","line_num":"0"},{"page_num":"0","conf":"0.30000001192092896","word_num":"0","line_num":"0","text":"atminny/app/puottc/atmunny_c.ong","width":"0.07848836513275795","level":"0","par_num":"0","height":"0.006968640444571461","left":"0.11773255769524932","top":"0.22996515712963062","block_num":"0"},{"page_num":"0","text":"Lukas Kovalik 2:41 PM","conf":"1","top":"0.24720893141945777","width":"0.04941860158392723","word_num":"0","par_num":"0","left":"0.11773256085283156","block_num":"0","height":"0.014354066985645897","line_num":"0","level":"0"},{"width":"0.03924418510274684","top":"0.28919860606553827","text":"ще го погледна","word_num":"0","block_num":"0","height":"0.013937282410154683","page_num":"0","conf":"1","par_num":"0","line_num":"0","level":"0","left":"0.11627907082495524"},{"conf":"0.30000001192092896","height":"0.006968640444571461","text":"Nikolav Yankov 2:41PM","block_num":"0","page_num":"0","left":"0.11627906981127394","level":"0","line_num":"0","par_num":"0","top":"0.3170731710669128","width":"0.05377906434079434","word_num":"0"},{"top":"0.3658536586200556","width":"0.052325578446083876","word_num":"0","par_num":"0","block_num":"0","height":"0.007352082923268499","conf":"0.30000001192092896","left":"0.11773256076435365","page_num":"0","level":"0","text":"Nikolav Yankov 7:44 PM","line_num":"0"},{"level":"0","block_num":"0","height":"0.006968641205077342","top":"0.3832752612744097","par_num":"0","text":"Лукає за понелелник виж коментаnа от claude","conf":"0.5","word_num":"0","left":"0.11773255504382633","page_num":"0","width":"0.11046512076195249","line_num":"0"},{"top":"0.39721254345335355","conf":"1","level":"0","left":"0.11773255865671346","line_num":"0","word_num":"0","block_num":"0","page_num":"0","text":"https://github.com/jiminny/app/pull/11998","width":"0.09593023137843355","par_num":"0","height":"0.013937282410154794"},{"level":"0","text":"Todayv","left":"0.2892441862540174","block_num":"0","height":"0.006968641205077342","conf":"0.30000001192092896","top":"0.4355400696123277","page_num":"0","width":"0.01744185990475594","par_num":"0","line_num":"0","word_num":"0"},{"top":"0.45993031338261137","height":"0.013937282410154794","par_num":"0","word_num":"0","width":"0.05377906941353007","level":"0","conf":"0.5","left":"0.11773255943718407","line_num":"0","page_num":"0","block_num":"0","text":"Lukas Kovalik 10:20 AM"},{"line_num":"0","par_num":"0","width":"0.1380813882706013","top":"0.4808362374525167","word_num":"0","conf":"1","left":"0.11773256622145793","height":"0.010452960286604362","block_num":"0","level":"0","page_num":"0","text":"направих една малка промяна в крайна сметка, комитнах го"},{"conf":"0.5","left":"0.11773255683554235","page_num":"0","par_num":"0","word_num":"0","width":"0.055232560380976264","line_num":"0","block_num":"0","height":"0.006968641205077342","text":"Nikolav Vankov 10-20AM","level":"0","top":"0.5052264807820203"},{"line_num":"0","block_num":"0","text":"Lukas Kovallik 10-20 AM","width":"0.05087209255137341","word_num":"0","height":"0.007188147525087674","level":"0","top":"0.5470383276400758","page_num":"0","conf":"0.5","left":"0.11773255938504366","par_num":"0"},{"level":"0","text":"това за flaviсon има ли си тикет","top":"0.5644599301598978","par_num":"0","width":"0.07267441648118038","page_num":"0","line_num":"0","block_num":"0","word_num":"0","height":"0.0073104049220229506","conf":"0.5","left":"0.11773256023955285"},{"line_num":"0","left":"0.11773256080146427","page_num":"0","word_num":"0","text":"Nikolav Yankov 10:21 AM","top":"0.5885167463624611","height":"0.007302069017571466","block_num":"0","conf":"0.5","level":"0","par_num":"0","width":"0.055232555308240505"},{"text":"ако искаш си направи","page_num":"0","conf":"1","level":"0","block_num":"0","height":"0.007315961177649544","width":"0.052325578446083876","word_num":"0","left":"0.11627906851058986","line_num":"0","par_num":"0","top":"0.6547049442879459"},{"height":"0.0071770334928229484","level":"0","page_num":"0","text":"даже по-дооре да има","width":"0.05377906941353007","top":"0.6794258373205742","line_num":"0","par_num":"0","left":"0.11627907003340922","block_num":"0","word_num":"0","conf":"1"},{"width":"0.05377906941353007","height":"0.01764944523715517","page_num":"0","par_num":"0","top":"0.6968641114980333","line_num":"0","word_num":"0","text":"Lukas Kovalik 10:21 AM","block_num":"0","level":"0","conf":"1","left":"0.11773255943718407"},{"top":"0.7177033493439169","width":"0.1991279074486266","word_num":"0","text":"хубаво да направим, доста време ми отнеме и май трябва с Вес така иначе да се види","height":"0.010519646761710244","conf":"1","block_num":"0","page_num":"0","par_num":"0","left":"0.11773256006071212","line_num":"0","level":"0"},{"page_num":"0","top":"0.742160279154372","text":"от S3 изглежда идва","line_num":"0","par_num":"0","conf":"1","width":"0.04941860158392722","word_num":"0","block_num":"0","level":"0","left":"0.11627907366496457","height":"0.010630789365874915"},{"left":"0.11773255937818321","par_num":"0","level":"0","page_num":"0","word_num":"0","text":"Nikolay Yankov 10:22 AM","block_num":"0","conf":"1","top":"0.7630662018843535","width":"0.0566860462756867","line_num":"0","height":"0.013937282410154683"},{"height":"0.006968640444571572","left":"0.11773256014180877","text":"интепесно","par_num":"0","top":"0.7839721257707456","line_num":"0","width":"0.024709300791963623","conf":"0.30000001192092896","page_num":"0","level":"0","word_num":"0","block_num":"0"},{"conf":"1","line_num":"0","block_num":"0","height":"0.017674452190003742","left":"0.11773255937818321","level":"0","par_num":"0","width":"0.0566860462756867","word_num":"0","text":"Nikolay Yankov 12:32 PM","page_num":"0","top":"0.804625199137703"},{"page_num":"0","top":"0.8221690591125324","word_num":"0","block_num":"0","width":"0.09738372234587973","conf":"1","line_num":"0","height":"0.017552194793068354","par_num":"0","left":"0.11773255855318647","text":"Пуснах пак ревю, я виж какво е написало","level":"0"},{"height":"0.0071770334928230595","line_num":"0","word_num":"0","par_num":"0","level":"0","conf":"0.5","text":"това, це на всяка стпаница плавим тази заявка ше ни забави ли системата спопел теб?","width":"0.2005813882706013","block_num":"0","left":"0.11627907656195002","page_num":"0","top":"0.8500797448165869"},{"line_num":"0","block_num":"0","par_num":"0","conf":"1","height":"0.013937282410154683","word_num":"0","top":"0.8641114981540811","level":"0","text":"трябва ли да го вкарваме в кеш","left":"0.11773256231766678","width":"0.07412790237589083","page_num":"0"},{"height":"0.010475189872145463","word_num":"0","top":"0.905901116413532","left":"0.1061046334465927","text":"Ники поглелнах по comment oт claude. По принцип е прав ако има клиент със лесетки хиляли ресултати и user бе нито елин трябва ла мине през всички ла го","level":"0","page_num":"0","conf":"1","block_num":"0","par_num":"0","width":"0.3691860361302153","line_num":"0"},{"word_num":"0","block_num":"0","left":"0.10610464825830507","height":"0.014354066985645897","page_num":"0","text":"установим. Това може да е по-бавно, въпрехи че си e edge case","level":"0","width":"0.1468023137843355","line_num":"0","conf":"1","top":"0.9266347687400319","par_num":"0"},{"word_num":"0","height":"0.017680009966641874","par_num":"0","page_num":"0","block_num":"0","line_num":"0","top":"0.9512195119378624","text":"+ Aa","width":"0.018895348335834256","level":"0","conf":"0.30000001192092896","left":"0.10755814010049372"},{"word_num":"0","width":"0.16279069413530067","page_num":"0","level":"0","left":"0.8343023291037074","line_num":"0","text":"щ4@ п 100%4 8 Mon27 Apr 18:56:32","top":"0.00000000033500369145400555","conf":"0.30000001192092896","block_num":"0","height":"0.020905922094220375","par_num":"0"},{"par_num":"0","text":"","level":"0","width":"0.008720929941860467","height":"0.017421602206736386","block_num":"0","top":"0.02787456492450635","word_num":"0","line_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.47674418604651164"},{"top":"0.027874564982578343","left":"0.890988372238372","line_num":"0","width":"0.007267441678779241","page_num":"0","word_num":"0","text":"*","block_num":"0","conf":"0.5","height":"0.02090592282229975","level":"0","par_num":"0"},{"line_num":"0","width":"0.08284883296236079","level":"0","word_num":"0","top":"0.06271777012826163","left":"0.5029069814629333","conf":"1","page_num":"0","block_num":"0","height":"0.017421602252187585","par_num":"0","text":"Al reports promotion pages #11998"},{"level":"0","conf":"1","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","height":"0.010475189872145352","left":"0.5029069820341029","top":"0.08362369354010668","page_num":"0","par_num":"0","width":"0.21947674041098741","word_num":"0","line_num":"0","block_num":"0"},{"par_num":"0","text":"ranoramakeportsrrono leatures gria nou","left":"0.515988370209941","word_num":"0","width":"0.08720929571922797","page_num":"0","block_num":"0","conf":"0.30000001192092896","level":"0","line_num":"0","top":"0.10765550223535247","height":"0.007327075970420038"},{"word_num":"0","level":"0","left":"0.6206395320015682","top":"0.10446570957187562","block_num":"0","height":"0.010516868633896892","page_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","line_num":"0","par_num":"0","conf":"0.30000001192092896","width":"0.12936045261139562"},{"level":"0","page_num":"0","par_num":"0","height":"0.003484320602538671","top":"0.12543554003627422","width":"0.023255814897253146","conf":"0.30000001192092896","block_num":"0","line_num":"0","word_num":"0","left":"0.5145348831763734","text":"leseeis"},{"width":"0.04069767099745736","left":"0.6206395381627619","line_num":"0","conf":"1","level":"0","par_num":"0","page_num":"0","word_num":"0","block_num":"0","text":"added at line 170","height":"0.017571645490290444","top":"0.11483253561555695"},{"level":"0","line_num":"0","height":"0.01754385964912275","par_num":"0","page_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","left":"0.6206395418231858","conf":"1","width":"0.1308139435788419","block_num":"0","word_num":"0","top":"0.14274322169059017"},{"level":"0","line_num":"0","par_num":"0","width":"0.08720929571922786","word_num":"0","text":"Wording inconsistency (modal vs inline)","height":"0.017621659395987477","top":"0.15311004759362778","left":"0.5145348893682301","conf":"1","block_num":"0","page_num":"0"},{"top":"0.16724738673389183","width":"0.027616277654120225","word_num":"0","level":"0","block_num":"0","line_num":"0","par_num":"0","text":"as possible.","height":"0.006968641205077342","conf":"0.5","page_num":"0","left":"0.6206395362891324"},{"width":"0.08866277654120269","word_num":"0","height":"0.006968640444571461","block_num":"0","page_num":"0","level":"0","line_num":"0","conf":"0.30000001192092896","top":"0.1951219515547178","par_num":"0","text":"nrer compured calling can( a secona","left":"0.514534888937681"},{"line_num":"0","left":"0.620639539097222","word_num":"0","par_num":"0","block_num":"0","conf":"1","width":"0.11482557337334798","height":"0.0175883172991933","top":"0.18815330979979739","page_num":"0","text":"Fixed - canManageAiReports extracted as a shared","level":"0"},{"left":"0.6220930244397125","conf":"1","block_num":"0","par_num":"0","text":"computed","top":"0.20557491298540453","width":"0.023255812360885253","page_num":"0","line_num":"0","word_num":"0","height":"0.017421602252187474","level":"0"},{"top":"0.20557491302895847","height":"0.017421602252187585","width":"0.011627906180442626","page_num":"0","left":"0.5145348842644298","par_num":"0","text":"time","block_num":"0","conf":"1","level":"0","line_num":"0","word_num":"0"},{"conf":"1","par_num":"0","block_num":"0","text":"trackInterest endpoint missing rate","line_num":"0","page_num":"0","top":"0.23344947777831704","width":"0.08284883296236079","level":"0","word_num":"0","height":"0.017746694160230114","left":"0.5159883762736059"},{"left":"0.5145348854641136","level":"0","page_num":"0","word_num":"0","line_num":"0","par_num":"0","width":"0.015988370205493596","height":"0.006968640444571461","text":"limitina","top":"0.25435540103206966","conf":"1","block_num":"0"},{"height":"0.017807823619203744","word_num":"0","block_num":"0","par_num":"0","level":"0","conf":"1","left":"0.6206395358560387","line_num":"0","width":"0.05523255530824056","top":"0.24003189772282119","text":"Still present (see below)","page_num":"0"},{"block_num":"0","level":"0","left":"0.49854651467944094","text":"Remaining issues","page_num":"0","line_num":"0","height":"0.017613322731030334","width":"0.049418601583927246","par_num":"0","word_num":"0","top":"0.31339712947633447","conf":"1"},{"left":"0.500000004738088","conf":"0.5","height":"0.017596652443139016","width":"0.10319766592472168","level":"0","line_num":"0","block_num":"0","page_num":"0","par_num":"0","text":". Extra DB query still fires on every page load","top":"0.34843205595226867","word_num":"0"},{"height":"0.017632773428252313","level":"0","page_num":"0","top":"0.3763066205923885","left":"0.4999999984771364","line_num":"0","conf":"1","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","par_num":"0","block_num":"0","width":"0.24709301806510764","word_num":"0"},{"conf":"1","word_num":"0","top":"0.4178628388386477","page_num":"0","line_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).","par_num":"0","height":"0.010708589112739642","left":"0.502907000810188","block_num":"0","level":"0","width":"0.2194767201200445"},{"block_num":"0","height":"0.017741137904603743","conf":"0.5","line_num":"0","page_num":"0","left":"0.5000000072941873","par_num":"0","top":"0.45993031375224214","word_num":"0","width":"0.24127905419532292","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","level":"0"},{"height":"0.013937282410154683","block_num":"0","conf":"1","par_num":"0","level":"0","top":"0.4773519162821602","page_num":"0","width":"0.25000000000000006","left":"0.49999999992732563","word_num":"0","line_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7"},{"par_num":"0","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","level":"0","block_num":"0","top":"0.4912280702286602","page_num":"0","width":"0.24854649888708236","height":"0.020967051553193783","left":"0.5014534918272605","line_num":"0","word_num":"0","conf":"1"},{"height":"0.010686361048210191","par_num":"0","width":"0.22819764563377865","word_num":"0","line_num":"0","conf":"0.5","level":"0","top":"0.5119617223575448","block_num":"0","page_num":"0","text":"ISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as the","left":"0.5000000058253165"},{"width":"0.08720930586469933","height":"0.0073381900026847635","left":"0.5014534853695082","page_num":"0","level":"0","top":"0.5606060607314207","line_num":"0","word_num":"0","conf":"1","text":"uaaested mitiaations (in order of effort):","block_num":"0","par_num":"0"},{"par_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","line_num":"0","top":"0.5853269537480064","word_num":"0","block_num":"0","level":"0","conf":"1","height":"0.01754385964912286","page_num":"0","left":"0.5014534869745092","width":"0.17587209255137348"},{"text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","block_num":"0","page_num":"0","top":"0.6027874571526035","level":"0","left":"0.5058139713227934","line_num":"0","width":"0.23982555308240527","word_num":"0","par_num":"0","conf":"0.5","height":"0.01762721565161396"},{"block_num":"0","line_num":"0","text":"transtorm() Is called multiple times in a single response","left":"0.5072674434499944","par_num":"0","level":"0","page_num":"0","conf":"0.5","width":"0.12354649888708236","height":"0.007352082923268499","top":"0.6267942582824599","word_num":"0"},{"block_num":"0","word_num":"0","conf":"1","text":"• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/","line_num":"0","height":"0.017421602252187474","level":"0","width":"0.2558139435788418","top":"0.6376306621143244","par_num":"0","page_num":"0","left":"0.5000000099048465"},{"width":"0.10465115689216775","word_num":"0","page_num":"0","level":"0","conf":"1","line_num":"0","block_num":"0","par_num":"0","height":"0.0071770334928229484","left":"0.5058139616289973","text":"deletion pipeline — eliminates the querv entirelv.","top":"0.6618819776714514"},{"height":"0.013937282410154683","page_num":"0","width":"0.021802323929806966","block_num":"0","left":"0.5000000014415185","line_num":"0","par_num":"0","text":"Fix this →","top":"0.6864111496195452","conf":"0.5","level":"0","word_num":"0"},{"block_num":"0","page_num":"0","word_num":"0","line_num":"0","conf":"1","par_num":"0","height":"0.017807823619203744","text":"2. trackInterest endpoint has no rate limit or idempotency guard","left":"0.500000009555618","top":"0.742160278657975","width":"0.15406975847609494","level":"0"},{"word_num":"0","line_num":"0","level":"0","height":"0.01525778519479859","page_num":"0","top":"0.7722896034177436","width":"0.22823879566598448","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","conf":"1","left":"0.49997788082196515","block_num":"0","par_num":"0"},{"text":"pi.php:282","block_num":"0","width":"0.02470930332833149","top":"0.7944250870834626","conf":"0.5","height":"0.006968641205077342","word_num":"0","par_num":"0","line_num":"0","page_num":"0","level":"0","left":"0.4999999995712994"},{"conf":"0.5","width":"0.14534883296236079","height":"0.021122651046923346","word_num":"0","block_num":"0","line_num":"0","page_num":"0","left":"0.5029069762911409","level":"0","par_num":"0","text":"public function trackInterest(Request srequest): JsonResponse","top":"0.8325358853529533"},{"block_num":"0","word_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs@:l","width":"0.23255810839064572","conf":"0.5","page_num":"0","height":"0.0071770334928229484","left":"0.5116279148651706","line_num":"0","par_num":"0","top":"0.8604465709728868","level":"0"},{"height":"0.010647460414272003","par_num":"0","level":"0","conf":"1","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","top":"0.9266347687970263","word_num":"0","block_num":"0","page_num":"0","width":"0.25290696164394955","line_num":"0","left":"0.5000000190354208"},{"height":"0.018647765809078898","par_num":"0","level":"0","top":"0.9401534681773605","page_num":"0","word_num":"0","block_num":"0","left":"0.49999262683224","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","conf":"1","line_num":"0","width":"0.24420076735476226"},{"block_num":"0","page_num":"0","left":"0.5000000013824143","level":"0","height":"0.017421602252187474","width":"0.05668604627568663","conf":"1","text":"racking noise in analytics.","top":"0.958188153403523","word_num":"0","line_num":"0","par_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4804
|
NULL
|
NULL
|
|
89214
|
iTerm2ShellEdit ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKERDEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O0 84-zsh885100% CMon 27 Apr 18:56:33181ec2-user@ip-10-30-95-134:...• *666++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"text":"iTerm2","height" [{"text":"iTerm2","height":"0.013953487608167836","level":"0","width":"0.03633720874786377","line_num":"0","block_num":"0","word_num":"0","conf":"1","par_num":"0","top":"0.006976744645528443","page_num":"0","left":"0.033430232229750306"},{"left":"0.08284883872795794","line_num":"0","conf":"1","par_num":"0","page_num":"0","text":"Shell","width":"0.031976742214626735","top":"0.006976744412970359","height":"0.013953487608167836","level":"0","word_num":"0","block_num":"0"},{"conf":"0.5","text":"Edit View","page_num":"0","par_num":"0","block_num":"0","height":"0.018129467434353397","line_num":"0","top":"0.0037259641357089146","width":"0.053985823525322815","word_num":"0","left":"0.11617569194630452","level":"0"},{"word_num":"0","level":"0","page_num":"0","left":"0.18168604790258086","par_num":"0","height":"0.013953487608167836","block_num":"0","width":"0.034883719020419646","top":"0.0069767444517300214","text":"Session","line_num":"0","conf":"1"},{"conf":"0.5","par_num":"0","height":"0.014077084859212219","level":"0","page_num":"0","text":"Scripts","line_num":"0","top":"0.006914945827753649","left":"0.2296406737588108","width":"0.031997723049587645","block_num":"0","word_num":"0"},{"text":"Profiles","par_num":"0","page_num":"0","level":"0","height":"0.014200344085693373","block_num":"0","left":"0.27323585639556563","line_num":"0","top":"0.006853316216056116","width":"0.033470148510403086","word_num":"0","conf":"1"},{"left":"0.31831395315998284","block_num":"0","height":"0.013953487608167836","page_num":"0","par_num":"0","width":"0.03633720874786378","level":"0","text":"Window","word_num":"0","top":"0.006976744645528443","conf":"1","line_num":"0"},{"word_num":"0","left":"0.36773255878967304","line_num":"0","block_num":"0","par_num":"0","conf":"1","level":"0","page_num":"0","text":"Help","top":"0.006976744474985863","width":"0.02034883631600276","height":"0.013953487608167836"},{"line_num":"0","word_num":"0","block_num":"0","level":"0","top":"0.03666666662527551","left":"0.47529069803997187","height":"0.014496124055650483","page_num":"0","par_num":"0","width":"0.049418603049384224","conf":"1","text":"APP (-zsh)"},{"conf":"1","block_num":"0","par_num":"0","page_num":"0","level":"0","left":"0.050872094365759145","line_num":"0","text":"DOCKER","top":"0.06511627921917185","width":"0.03488371902041965","word_num":"0","height":"0.013953487608167947"},{"block_num":"0","left":"0.2107558135640147","top":"0.0674418609589309","width":"0.05087209277682833","par_num":"0","conf":"1","level":"0","line_num":"0","page_num":"0","text":"DEV (docker)","word_num":"0","height":"0.011627906163533597"},{"page_num":"0","block_num":"0","left":"0.30813953472970373","level":"0","par_num":"0","text":"₴82","top":"0.06744186045818157","conf":"0.30000001192092896","width":"0.014534884028964579","word_num":"0","height":"0.011627907223171752","line_num":"0"},{"width":"0.040697672632005466","par_num":"0","level":"0","block_num":"0","page_num":"0","word_num":"0","left":"0.3793604658741403","line_num":"0","top":"0.0674418609589309","conf":"0.5","height":"0.011627906163533597","text":"APP (-zsh)"},{"block_num":"0","par_num":"0","word_num":"0","text":"83","width":"0.013081394301520444","conf":"0.30000001192092896","level":"0","page_num":"0","height":"0.013953487608167947","left":"0.47238372128431727","line_num":"0","top":"0.06511627921917185"},{"conf":"1","height":"0.014420836766560807","top":"0.0648826047097042","line_num":"0","par_num":"0","left":"0.5348576004786272","word_num":"0","level":"0","block_num":"0","page_num":"0","text":"screenpipe\"","width":"0.048017358779907204"},{"level":"0","text":"front-end/src/components/AiReports/Manage/__tests_","top":"0.09069767473716484","word_num":"0","par_num":"0","width":"0.2790697521633572","left":"0.008720942522972407","line_num":"0","block_num":"0","page_num":"0","conf":"1","height":"0.016279069052802186"},{"left":"0.2863372117089401","par_num":"0","width":"0.14098837110731333","line_num":"0","top":"0.0906976745315402","word_num":"0","text":"_/ManageAiReports.spec.js","block_num":"0","page_num":"0","height":"0.01860465155707458","level":"0","conf":"1"},{"text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","width":"0.44622090657552077","top":"0.1093023258515059","conf":"1","page_num":"0","line_num":"0","par_num":"0","left":"0.00872094763883828","block_num":"0","level":"0","height":"0.016279069052802186","word_num":"0"},{"line_num":"0","left":"0.008720945815069964","level":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","conf":"1","word_num":"0","block_num":"0","par_num":"0","top":"0.13023255838057568","height":"0.016279069052802186","width":"0.5232557932535807","page_num":"0"},{"top":"0.1488372093377417","word_num":"0","conf":"1","left":"0.00872092909910249","par_num":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","width":"0.6002906799316406","line_num":"0","height":"0.018604651557074692","page_num":"0","level":"0","block_num":"0"},{"height":"0.018604651557074692","conf":"1","block_num":"0","left":"0.008720941327598099","level":"0","line_num":"0","page_num":"0","par_num":"0","width":"0.26308138105604384","word_num":"0","text":"front-end/src/components/AiReports/constants.js","top":"0.16976744197340066"},{"left":"0.008720944627202777","width":"0.4127906799316406","conf":"1","block_num":"0","level":"0","line_num":"0","height":"0.01860465155707458","page_num":"0","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","top":"0.18837209251603637","word_num":"0"},{"text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","block_num":"0","left":"0.008720936305477206","page_num":"0","top":"0.20930232526797432","par_num":"0","width":"0.4069767422146267","conf":"1","height":"0.01860465155707458","line_num":"0","level":"0","word_num":"0"},{"par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","width":"0.35755814446343315","height":"0.016279069052802186","conf":"1","top":"0.2302325584096454","word_num":"0","block_num":"0","left":"0.00872093223776006","level":"0","line_num":"0","page_num":"0"},{"block_num":"0","level":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","top":"0.2488372089889045","width":"0.35174418555365666","line_num":"0","conf":"1","height":"0.018604651557074692","left":"0.008720934875787774","page_num":"0","par_num":"0","word_num":"0"},{"top":"0.26976744154704413","width":"0.4854651133219401","conf":"1","block_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","left":"0.008720937779436768","line_num":"0","level":"0","par_num":"0","page_num":"0","height":"0.01860465155707458","word_num":"0"},{"height":"0.016279069052802075","par_num":"0","word_num":"0","width":"0.3793604532877604","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","top":"0.29069767465964547","conf":"1","level":"0","block_num":"0","left":"0.008720939940422036","line_num":"0","page_num":"0"},{"line_num":"0","page_num":"0","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","top":"0.3093023252679743","level":"0","height":"0.01860465155707458","word_num":"0","block_num":"0","par_num":"0","width":"0.3851743910047743","left":"0.008720948847176679"},{"par_num":"0","width":"0.27180230882432727","top":"0.3325581400286983","text":"front-end/src/components/shared/SavedSearchModal/","conf":"1","word_num":"0","line_num":"0","block_num":"0","left":"0.01017442358565618","level":"0","page_num":"0","height":"0.011627906163533597"},{"block_num":"0","conf":"0.5","height":"0.013953487608167836","level":"0","left":"0.2805232549080388","width":"0.1061046494377984","par_num":"0","word_num":"0","page_num":"0","line_num":"0","top":"0.3325581400718851","text":"__mocks__/nudges.js"},{"block_num":"0","line_num":"0","level":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","word_num":"0","left":"0.008720944988524652","conf":"1","width":"0.4622092776828342","par_num":"0","height":"0.01860465155707458","page_num":"0","top":"0.3488372088726255"},{"block_num":"0","page_num":"0","width":"0.3183139377170139","par_num":"0","word_num":"0","left":"0.008720943423469624","level":"0","height":"0.01860465155707458","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","line_num":"0","top":"0.3697674416633232"},{"level":"0","top":"0.3883720938223495","block_num":"0","page_num":"0","height":"0.020930230882432732","left":"0.008720939432180469","conf":"1","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","line_num":"0","width":"0.31540696885850694","word_num":"0"},{"top":"0.36976744175634635","block_num":"0","level":"0","par_num":"0","width":"0.2790697521633572","line_num":"0","page_num":"0","word_num":"0","height":"0.018604651557074692","conf":"1","left":"0.32994186531367026","text":"/__snapshots__/saved-search-modal-edit.output.html"},{"height":"0.01860465155707458","page_num":"0","left":"0.329941858342544","text":"/__snapshots__/saved-search-modal.output.html","conf":"1","word_num":"0","line_num":"0","par_num":"0","top":"0.3883720925160363","width":"0.25145348442925347","level":"0","block_num":"0"},{"line_num":"0","left":"0.008720939459133782","level":"0","par_num":"0","top":"0.4093023252679743","conf":"1","width":"0.32412789662679037","height":"0.018604651557074692","block_num":"0","word_num":"0","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js"},{"par_num":"0","level":"0","line_num":"0","top":"0.4302325583805757","page_num":"0","block_num":"0","left":"0.008720945245547382","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","height":"0.016279069052802075","word_num":"0","width":"0.36773253546820744","conf":"1"},{"text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","height":"0.01860465155707458","par_num":"0","top":"0.4488372090276642","conf":"1","level":"0","line_num":"0","width":"0.4854651133219401","page_num":"0","word_num":"0","block_num":"0","left":"0.008720939802207934"},{"level":"0","block_num":"0","page_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","width":"0.49709298875596786","word_num":"0","height":"0.016279069052802075","line_num":"0","top":"0.4697674423340641","left":"0.007267450825504717","par_num":"0","conf":"1"},{"height":"0.016279069052802186","text":"tests/Feature/NudgeProcessingFeatureTest.php","top":"0.49069767467902525","conf":"1","word_num":"0","line_num":"0","left":"0.008720936961676194","level":"0","par_num":"0","page_num":"0","width":"0.245639525519477","block_num":"0"},{"width":"0.3241278966267904","left":"0.008720940809666643","conf":"1","top":"0.509302325306734","line_num":"0","level":"0","page_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","par_num":"0","height":"0.01860465155707458","word_num":"0","block_num":"0"},{"line_num":"0","block_num":"0","height":"0.016279069052802186","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","word_num":"0","level":"0","conf":"1","top":"0.5302325584096454","left":"0.008720944263830709","par_num":"0","page_num":"0","width":"0.4127906799316406"},{"word_num":"0","width":"0.3808139377170139","left":"0.007267443399245208","conf":"1","level":"0","page_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","top":"0.548837209182703","line_num":"0","block_num":"0","height":"0.018604651557074692","par_num":"0"},{"block_num":"0","line_num":"0","level":"0","height":"0.018604651557074692","par_num":"0","conf":"1","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","width":"0.26308138105604384","word_num":"0","top":"0.5697674415470441","left":"0.00872094066747218","page_num":"0"},{"height":"0.016279069052802297","line_num":"0","conf":"1","width":"0.2790697521633572","word_num":"0","par_num":"0","block_num":"0","page_num":"0","top":"0.5906976748922036","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","level":"0","left":"0.008720935081112163"},{"width":"0.40697674221462665","left":"0.008720935288035392","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","word_num":"0","page_num":"0","height":"0.018604651557074692","conf":"1","block_num":"0","top":"0.6093023252912301","level":"0","line_num":"0","par_num":"0"},{"block_num":"0","left":"0.008720932494423177","line_num":"0","page_num":"0","conf":"1","height":"0.018604651557074692","level":"0","par_num":"0","top":"0.630232558174951","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","width":"0.3735465155707466","word_num":"0"},{"conf":"1","left":"0.008720933727585568","page_num":"0","block_num":"0","height":"0.01860465155707458","level":"0","word_num":"0","width":"0.3575581444634332","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","top":"0.6488372090276643","line_num":"0","par_num":"0"},{"level":"0","width":"0.30668604109022357","conf":"1","line_num":"0","height":"0.023669251335991737","block_num":"0","left":"0.008720930055878897","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","par_num":"0","word_num":"0","page_num":"0","top":"0.6674418601201179"},{"height":"0.053333333333333344","width":"0.06666666666666665","block_num":"0","conf":"0.30000001192092896","level":"0","word_num":"0","page_num":"0","text":"rtarest. php","left":"0.30000000013888894","top":"0.64","line_num":"0","par_num":"0"},{"width":"0.45784882439507385","word_num":"0","block_num":"0","level":"0","left":"0.008720943324406762","conf":"1","height":"0.016279069052802186","line_num":"0","par_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","page_num":"0","top":"0.6906976746596454"},{"block_num":"0","line_num":"0","word_num":"0","height":"0.019018088446723147","top":"0.7088888885350363","par_num":"0","level":"0","page_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","width":"0.43459303114149306","conf":"1","left":"0.008720919944754178"},{"level":"0","block_num":"0","left":"0.3208333309027779","conf":"0.30000001192092896","text":"fonitrn/esComedad.ron,.php","top":"0.6866666667777778","page_num":"0","width":"0.14583333333333337","word_num":"0","line_num":"0","par_num":"0","height":"0.046666666666666634"},{"left":"0.008720931874829398","height":"0.01666666666666672","word_num":"0","level":"0","conf":"1","line_num":"0","width":"0.4186046600341797","page_num":"0","block_num":"0","top":"0.73","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","par_num":"0"},{"conf":"1","line_num":"0","block_num":"0","word_num":"0","height":"0.0189405674404568","left":"0.008720944031500208","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","top":"0.7488372099361025","par_num":"0","width":"0.5188953399658203","level":"0","page_num":"0"},{"block_num":"0","left":"0.00872094292957427","word_num":"0","line_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","conf":"1","level":"0","par_num":"0","page_num":"0","top":"0.769767441714528","height":"0.01912144766913515","width":"0.556686019897461"},{"height":"0.018604651557074692","level":"0","block_num":"0","conf":"1","page_num":"0","left":"0.008720950932465657","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","top":"0.7883720927330905","line_num":"0","width":"0.5232557932535807","word_num":"0"},{"top":"0.8088888884187573","conf":"1","width":"0.5130814022488065","page_num":"0","par_num":"0","height":"0.019018088446723147","word_num":"0","line_num":"0","block_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","left":"0.008720932168461499","level":"0"},{"word_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","height":"0.018888888888888955","left":"0.00872093066119501","line_num":"0","page_num":"0","width":"0.5901162889268663","level":"0","conf":"1","top":"0.83","par_num":"0","block_num":"0"},{"width":"0.5901162889268663","word_num":"0","height":"0.0189405674404568","line_num":"0","level":"0","conf":"1","par_num":"0","page_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","top":"0.8488372098663348","left":"0.00872093066119501","block_num":"0"},{"word_num":"0","block_num":"0","width":"0.6017441643608942","line_num":"0","level":"0","height":"0.016279069052802186","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","page_num":"0","left":"0.00872095191817562","conf":"1","top":"0.8697674421015059","par_num":"0"},{"left":"0.008720941480167237","level":"0","par_num":"0","page_num":"0","block_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","height":"0.016279069052802186","top":"0.8906976746596453","width":"0.5188953399658204","word_num":"0","conf":"1","line_num":"0"},{"left":"0.008720965718114076","word_num":"0","conf":"1","line_num":"0","level":"0","block_num":"0","height":"0.019018088446723036","par_num":"0","page_num":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","width":"0.5130813598632812","top":"0.9088888883993775"},{"level":"0","left":"0.008720959803854693","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","width":"0.4796511332194011","top":"0.93","line_num":"0","conf":"1","height":"0.016666666666666607","block_num":"0","page_num":"0","par_num":"0","word_num":"0"},{"left":"0.008720958818144888","conf":"1","line_num":"0","width":"0.4636627621120876","level":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","word_num":"0","page_num":"0","block_num":"0","height":"0.0189405674404568","par_num":"0","top":"0.9488372099361024"},{"level":"0","width":"0.5348837110731336","height":"0.02144702911376961","left":"0.004360485232488721","conf":"1","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","word_num":"0","block_num":"0","par_num":"0","top":"0.9674418601201177","line_num":"0","page_num":"0"},{"line_num":"0","block_num":"0","par_num":"0","level":"0","top":"0.06511627927731145","width":"0.024709301524692084","page_num":"0","word_num":"0","height":"0.013953487608167836","text":"0 84","left":"0.6250000001737047","conf":"0.30000001192092896"},{"height":"0.011627906163533597","conf":"0.5","line_num":"0","word_num":"0","level":"0","left":"0.7194767443728021","par_num":"0","text":"-zsh","block_num":"0","top":"0.06744186098800065","page_num":"0","width":"0.017441859510209823"},{"top":"0.0674418609589309","left":"0.7994186049777334","height":"0.011627906163533597","page_num":"0","text":"885","block_num":"0","level":"0","line_num":"0","word_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.01453488270441694"},{"level":"0","text":"100% C","conf":"0.30000001192092896","page_num":"0","par_num":"0","width":"0.042151159710354325","height":"0.014444444444444371","block_num":"0","top":"0.00666666666666671","line_num":"0","word_num":"0","left":"0.8168604676103026"},{"top":"0.00666666666666671","left":"0.8909883701829538","line_num":"0","word_num":"0","height":"0.014444444444444371","level":"0","par_num":"0","conf":"1","page_num":"0","text":"Mon 27 Apr 18:56:33","width":"0.09738372166951492","block_num":"0"},{"page_num":"0","width":"0.021802324718899202","par_num":"0","top":"0.03488372138971452","word_num":"0","text":"181","block_num":"0","conf":"0.30000001192092896","level":"0","height":"0.013953487608167836","line_num":"0","left":"0.9709302326260156"},{"block_num":"0","conf":"1","text":"ec2-user@ip-10-30-95-134:...","width":"0.11046511332194009","left":"0.8372093056452314","word_num":"0","page_num":"0","par_num":"0","height":"0.011627906163533597","line_num":"0","top":"0.06744186083296189","level":"0"},{"par_num":"0","word_num":"0","top":"0.06511627933545094","line_num":"0","page_num":"0","left":"0.9534883728481232","block_num":"0","text":"• *6","conf":"0.30000001192092896","width":"0.024709301524692084","height":"0.013953487608167836","level":"0"},{"left":"0.6511627904225332","text":"66","conf":"1","line_num":"0","block_num":"0","level":"0","par_num":"0","top":"0.09069767487282365","height":"0.016279069052802297","word_num":"0","page_num":"0","width":"0.014534884028964523"},{"conf":"1","level":"0","word_num":"0","height":"0.011627906163533486","page_num":"0","width":"0.024709301524692084","text":"++++","left":"0.668604651975057","block_num":"0","par_num":"0","top":"0.09302325610427975","line_num":"0"},{"height":"0.01669250594245064","par_num":"0","block_num":"0","top":"0.1088888889538393","level":"0","line_num":"0","word_num":"0","conf":"1","left":"0.6511627914915763","page_num":"0","text":"23 +-","width":"0.03052325513627796"},{"top":"0.130232558334064","block_num":"0","left":"0.6511627904273781","height":"0.016279069052802186","line_num":"0","conf":"1","par_num":"0","text":"20","level":"0","width":"0.014534884028964634","word_num":"0","page_num":"0"},{"height":"0.011627906163533486","block_num":"0","top":"0.13255813982521003","width":"0.013081394301520444","page_num":"0","par_num":"0","conf":"0.5","word_num":"0","text":"+-","level":"0","line_num":"0","left":"0.6686046519044723"},{"level":"0","left":"0.658430232751938","top":"0.15116279116279063","conf":"1","width":"0.007267441618217019","word_num":"0","line_num":"0","height":"0.013953487906976814","block_num":"0","text":"4","par_num":"0","page_num":"0"},{"text":"+-","width":"0.01162790722317164","height":"0.011627906163533486","page_num":"0","conf":"0.30000001192092896","word_num":"0","line_num":"0","top":"0.15348837269342708","left":"0.6686046510880266","block_num":"0","level":"0","par_num":"0"},{"left":"0.6584302333351134","par_num":"0","text":"7 +","line_num":"0","level":"0","page_num":"0","top":"0.16976744216490824","conf":"0.30000001192092896","width":"0.01889534791310632","height":"0.013953487608167947","block_num":"0","word_num":"0"},{"word_num":"0","level":"0","par_num":"0","top":"0.19069767472304788","page_num":"0","conf":"0.5","width":"0.01889534791310632","left":"0.6584302333351134","line_num":"0","block_num":"0","height":"0.013953487608167836","text":"1 +"},{"left":"0.6511627914570022","word_num":"0","top":"0.20930232582243613","conf":"1","line_num":"0","level":"0","page_num":"0","height":"0.016279069052802186","block_num":"0","par_num":"0","text":"24","width":"0.015988371107313437"},{"par_num":"0","page_num":"0","text":"+-","word_num":"0","height":"0.009302325778537401","left":"0.6700581396855341","top":"0.21395348820707683","block_num":"0","width":"0.010174418158001464","conf":"0.5","line_num":"0","level":"0"},{"conf":"1","top":"0.23023255863777647","word_num":"0","line_num":"0","par_num":"0","left":"0.6511627910242451","width":"0.01453488270441694","block_num":"0","page_num":"0","height":"0.013953487608167947","text":"10","level":"0"},{"conf":"0.5","line_num":"0","page_num":"0","top":"0.2488372092900042","width":"0.01889534791310632","left":"0.6584302327537183","word_num":"0","height":"0.01671834627787272","level":"0","par_num":"0","block_num":"0","text":"5 +"},{"conf":"1","top":"0.26976744235870675","word_num":"0","level":"0","par_num":"0","left":"0.646802325807255","height":"0.013953487608167836","line_num":"0","text":"170","page_num":"0","block_num":"0","width":"0.01889534791310621"},{"word_num":"0","conf":"1","left":"0.651162790963683","top":"0.2906976748780866","text":"18","line_num":"0","width":"0.01453488270441694","block_num":"0","par_num":"0","height":"0.013953487608167836","page_num":"0","level":"0"},{"left":"0.651162791205931","par_num":"0","block_num":"0","word_num":"0","line_num":"0","text":"16","level":"0","height":"0.016279069052802297","conf":"1","page_num":"0","top":"0.30930232621003295","width":"0.01453488270441694"},{"page_num":"0","block_num":"0","width":"0.013081394301520444","line_num":"0","conf":"0.30000001192092896","height":"0.011627906163533486","text":"+-","level":"0","par_num":"0","left":"0.6686046517106738","top":"0.31395348897249686","word_num":"0"},{"conf":"1","text":"62","par_num":"0","width":"0.017441859510209934","line_num":"0","top":"0.3488372088726255","page_num":"0","height":"0.01860465155707458","word_num":"0","left":"0.6482558143219299","block_num":"0","level":"0"},{"conf":"1","height":"0.013953487608167836","page_num":"0","level":"0","block_num":"0","left":"0.646802325807255","top":"0.36976744235870673","width":"0.01889534791310621","line_num":"0","text":"942","word_num":"0","par_num":"0"},{"word_num":"0","conf":"1","line_num":"0","text":"942","level":"0","par_num":"0","height":"0.013953487608167947","top":"0.39069767491684626","width":"0.01889534791310621","left":"0.646802325807255","page_num":"0","block_num":"0"},{"block_num":"0","par_num":"0","word_num":"0","text":"21","height":"0.016279069052802186","level":"0","line_num":"0","conf":"1","page_num":"0","width":"0.01453488270441694","top":"0.4093023256673973","left":"0.6511627910605823"},{"conf":"1","height":"0.013953488667805991","page_num":"0","par_num":"0","line_num":"0","width":"0.013081395626068137","left":"0.6526162789947422","word_num":"0","level":"0","block_num":"0","text":"33","top":"0.4302325580788877"},{"top":"0.3534883723833495","line_num":"0","width":"0.017441859510209823","page_num":"0","block_num":"0","word_num":"0","height":"0.011627906163533486","conf":"1","left":"0.6700581403030346","level":"0","text":"+++","par_num":"0"},{"left":"0.8517441850662857","par_num":"0","block_num":"0","width":"0.1395348866780598","line_num":"0","level":"0","word_num":"0","conf":"0.30000001192092896","height":"0.08372093200683584","text":"APP","top":"0.14651162688694752","page_num":"0"},{"conf":"0.30000001192092896","text":"++++","width":"0.011627911196814611","left":"0.6686046489364764","block_num":"0","line_num":"0","par_num":"0","top":"0.4511627900808629","page_num":"0","height":"0.0813953484429254","level":"0","word_num":"0"},{"page_num":"0","height":"0.013953488667805991","par_num":"0","block_num":"0","left":"0.6700581393147707","level":"0","width":"0.011627907223171752","top":"0.5325581392707482","conf":"1","line_num":"0","text":"++","word_num":"0"},{"left":"0.6700581393235938","block_num":"0","line_num":"0","height":"0.01162790722317164","word_num":"0","conf":"0.30000001192092896","page_num":"0","text":"++.","width":"0.013081395626068137","par_num":"0","top":"0.6116279067372514","level":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3835
|
NULL
|
NULL
|
|
89215
|
HomeActivityLaterMoreSlackVIewJiminny…..@ jiminny- HomeActivityLaterMoreSlackVIewJiminny…..@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsic backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga nlattorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages. Nikolay YankovP. Galya Dimitrova MA. Aneliya AngelovawYasll VacilerAneliya Angelova,..C. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela Dureva#::AnndS Jira Cloud® ToastMistonWindowHelpQ Describe what you are looking forNikolay Yankov• MessagesAdd canvaur Files•ноппри други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/pubttc/tmunny_c.ongLukas Kovalik 2:41 PMaletetlще го погледнаNikolav Yankov 2:41 PMNikolay Yankov 7:44 PMЛукас. за понелелник виж коментаnа от Claudehttps://github.com/jiminny/app/pull/11998Lukas Kovalik 10:20 AMнаправих една малка промяна в краина сметка, комитнах гоNikolay Yankov 10:20 AMLukas Kovalik 10:20 AMtoвa зa favicon има ли си тикетNikolav Yankov 10:21 AMсамо ми писаако искаш си направилаже по-лооре ла имаFriday. April 24th~TodavvLukas Kovalik 10.21AMхубаво да направим. доста време ми отнеме и маи тряова с вес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMNikolav Vankov 12.22 pMПуснах пак перію а вим какро в написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?трябва ли да го вкарваме в кешLukas Kovalik 4.54 pNНики погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоустановим. Това може да е по-бавно, но си e edge case.Message Nikolay Yankov+ AaQ4@ 6 100%4 & Mon27 Apr 18:57:03*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono ledtures grie nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"block_num":"0","height" [{"block_num":"0","height":"0.013937282410154683","level":"0","conf":"1","line_num":"0","text":"Home","top":"0.13588850153592147","width":"0.011627906180442649","left":"0.0058139540803213065","page_num":"0","par_num":"0","word_num":"0"},{"page_num":"0","line_num":"0","conf":"1","level":"0","par_num":"0","block_num":"0","width":"0.014534883042599294","height":"0.017421602252187585","word_num":"0","left":"0.004360465697692593","top":"0.24390243911780862","text":"Activity"},{"height":"0.017421602252187474","par_num":"0","top":"0.3519163764290747","conf":"1","line_num":"0","text":"Later","left":"0.005813953538407517","block_num":"0","page_num":"0","width":"0.010174418383456292","word_num":"0","level":"0"},{"conf":"1","width":"0.011627906180442649","word_num":"0","level":"0","line_num":"0","height":"0.013937282410154683","par_num":"0","text":"More","top":"0.407665505020242","left":"0.0058139540803213065","page_num":"0","block_num":"0"},{"word_num":"0","par_num":"0","text":"Slack","conf":"1","block_num":"0","height":"0.017421602252187585","line_num":"0","left":"0.015988372286839896","level":"0","top":"-0.00000000002272559918026218","width":"0.01453488304259929","page_num":"0"},{"level":"0","block_num":"0","height":"0.006968641205077342","line_num":"0","page_num":"0","par_num":"0","top":"0.00696864102015915","conf":"0.30000001192092896","width":"0.010174418383456299","word_num":"0","text":"VIew","left":"0.06395348841001604"},{"block_num":"0","level":"0","word_num":"0","par_num":"0","line_num":"0","left":"0.027616280227326647","width":"0.030523254516276906","conf":"0.5","text":"Jiminny…..","top":"0.06271777054406291","height":"0.020905922094220375","page_num":"0"},{"text":"@ jiminny-x-integrati","word_num":"0","line_num":"0","left":"0.03343023162082732","par_num":"0","block_num":"0","top":"0.09407665591941561","width":"0.04941860158392724","page_num":"0","level":"0","height":"0.010452960286604362","conf":"0.5"},{"word_num":"0","top":"0.11483253574621899","level":"0","line_num":"0","page_num":"0","width":"0.05377906941353006","left":"0.03343023206285708","par_num":"0","block_num":"0","height":"0.017571645490290444","conf":"0.5","text":"& platform-inner-team"},{"line_num":"0","conf":"0.30000001192092896","text":"© Channels","par_num":"0","block_num":"0","word_num":"0","left":"0.029069768796061723","page_num":"0","width":"0.029069766085198585","top":"0.14274322169059017","height":"0.01754385964912275","level":"0"},{"level":"0","height":"0.01843704941550317","block_num":"0","par_num":"0","top":"0.16673966325440914","conf":"1","word_num":"0","line_num":"0","page_num":"0","width":"0.03351975248215046","text":"# ai-chapter","left":"0.0333854731523376"},{"height":"0.01758831577818165","block_num":"0","page_num":"0","top":"0.18815331079259123","left":"0.033430233468533056","text":"# alerts","width":"0.021802323929806973","line_num":"0","word_num":"0","conf":"0.5","level":"0","par_num":"0"},{"block_num":"0","page_num":"0","text":"ic backend","conf":"0.30000001192092896","line_num":"0","word_num":"0","width":"0.0276162751177524","left":"0.033430233739572664","height":"0.007257611367501027","par_num":"0","level":"0","top":"0.21602787499438603"},{"par_num":"0","block_num":"0","height":"0.017746694160230225","top":"0.23344947772024505","width":"0.045058138827060126","left":"0.03343023220953198","page_num":"0","text":"# confusion-clinic","word_num":"0","level":"0","line_num":"0","conf":"0.5"},{"block_num":"0","conf":"1","left":"0.033430233415436834","level":"0","line_num":"0","page_num":"0","par_num":"0","top":"0.25757575757575757","width":"0.03779069667166852","height":"0.014354066985645897","word_num":"0","text":"# curiosity_lab"},{"text":"# engineering","level":"0","block_num":"0","left":"0.03343023248338709","line_num":"0","conf":"1","par_num":"0","top":"0.2787456450411536","word_num":"0","page_num":"0","height":"0.017421602252187585","width":"0.03633720824059019"},{"par_num":"0","page_num":"0","top":"0.3030303029362562","height":"0.010558546635142552","conf":"0.5","level":"0","left":"0.03343023460359518","line_num":"0","word_num":"0","block_num":"0","text":"# generall","width":"0.026162789223041938"},{"height":"0.017699459142852314","page_num":"0","text":"# infra-changes","left":"0.033430233678823834","par_num":"0","word_num":"0","level":"0","conf":"1","block_num":"0","line_num":"0","top":"0.3237639551848104","width":"0.04069767353382517"},{"word_num":"0","top":"0.3449477351689121","block_num":"0","page_num":"0","conf":"1","width":"0.03343023137843355","level":"0","line_num":"0","par_num":"0","left":"0.03343023267189024","text":"# jiminny-bg","height":"0.017421602252187474"},{"level":"0","top":"0.3728222995949062","block_num":"0","par_num":"0","conf":"0.30000001192092896","text":"a nlattorm-nckets","height":"0.006968641205077342","line_num":"0","width":"0.04360465293234968","left":"0.03343023160068563","word_num":"0","page_num":"0"},{"level":"0","word_num":"0","block_num":"0","width":"0.04941860158392724","page_num":"0","top":"0.3899521529042582","left":"0.03343023562535342","conf":"1","par_num":"0","text":"# product_launches","line_num":"0","height":"0.01771335206343605"},{"block_num":"0","level":"0","conf":"1","line_num":"0","top":"0.4146341468601822","word_num":"0","height":"0.010452960286604362","width":"0.026162789223041938","page_num":"0","left":"0.03343023460359518","par_num":"0","text":"# random"},{"text":"# releases","top":"0.43540669856459324","page_num":"0","level":"0","word_num":"0","conf":"1","par_num":"0","width":"0.02761627765412026","line_num":"0","height":"0.014354066985646008","left":"0.033430233971852706","block_num":"0"},{"left":"0.03343023258555416","page_num":"0","par_num":"0","height":"0.017727244984020007","width":"0.034883719809511875","level":"0","conf":"1","block_num":"0","word_num":"0","line_num":"0","text":"# sofia-office","top":"0.45614035056563407"},{"top":"0.48083623672755915","left":"0.033430233969918705","level":"0","line_num":"0","par_num":"0","conf":"0.5","width":"0.027616277654120266","word_num":"0","text":"# support","page_num":"0","block_num":"0","height":"0.013937282410154683"},{"line_num":"0","top":"0.5015948961656965","height":"0.017568866601971322","left":"0.0334302336998952","text":"# thank-yous","width":"0.03488371980951188","level":"0","page_num":"0","word_num":"0","block_num":"0","conf":"1","par_num":"0"},{"conf":"0.5","word_num":"0","block_num":"0","level":"0","top":"0.5223285484012261","par_num":"0","line_num":"0","left":"0.033430235379805606","page_num":"0","height":"0.017741137904603632","text":"# the_people_of jimi...","width":"0.05523255530824053"},{"left":"0.029069768385209225","level":"0","text":"• Direct messages","width":"0.04505813882706014","line_num":"0","conf":"0.30000001192092896","par_num":"0","block_num":"0","top":"0.5540069688436597","page_num":"0","height":"0.017763365969133194","word_num":"0"},{"width":"0.04410918722761439","word_num":"0","page_num":"0","par_num":"0","conf":"0.5","text":". Nikolay Yankov","top":"0.5742437870873378","left":"0.03315112929498593","height":"0.022105172870642065","line_num":"0","block_num":"0","level":"0"},{"par_num":"0","top":"0.5956937797519628","page_num":"0","left":"0.033430233466317634","height":"0.021030958379474662","block_num":"0","text":"P. Galya Dimitrova M","width":"0.05232557844608388","level":"0","line_num":"0","word_num":"0","conf":"0.30000001192092896"},{"left":"0.03343023353108929","top":"0.6202090594836914","level":"0","line_num":"0","par_num":"0","text":"A. Aneliya Angelova","width":"0.047965115689216783","word_num":"0","height":"0.017749473048549347","block_num":"0","conf":"0.5","page_num":"0"},{"level":"0","conf":"0.30000001192092896","height":"0.006968640444571572","par_num":"0","word_num":"0","width":"0.034883717273144016","top":"0.6480836240285853","text":"wYasll Vaciler","page_num":"0","block_num":"0","line_num":"0","left":"0.03343023272588386"},{"level":"0","top":"0.6655052266903987","page_num":"0","left":"0.0334302335571803","height":"0.017421602252187585","line_num":"0","par_num":"0","text":"Aneliya Angelova,..","conf":"0.5","block_num":"0","width":"0.05087209255137342","word_num":"0"},{"top":"0.6864111500801692","conf":"0.5","left":"0.0334302320269567","par_num":"0","height":"0.0177355801279655","text":"C. Nikolay Ivanov","word_num":"0","level":"0","width":"0.04215116196490349","page_num":"0","line_num":"0","block_num":"0"},{"par_num":"0","top":"0.710526315793022","width":"0.045058138827060126","word_num":"0","page_num":"0","conf":"0.5","left":"0.033430233608541776","height":"0.01769668025453308","line_num":"0","text":"R. Nikolay Nikolov","block_num":"0","level":"0"},{"page_num":"0","par_num":"0","conf":"0.30000001192092896","text":"fl. Stefka Stoyanova","left":"0.0334302335307816","height":"0.017421602252187585","level":"0","word_num":"0","block_num":"0","top":"0.7317073172101431","width":"0.04796511568921677","line_num":"0"},{"text":"R. Adelina Petrova","block_num":"0","page_num":"0","height":"0.017721687207381653","par_num":"0","top":"0.752613240720201","width":"0.04505813882706013","word_num":"0","conf":"1","level":"0","line_num":"0","left":"0.03343023190749662"},{"conf":"0.5","level":"0","block_num":"0","par_num":"0","top":"0.7767145135705419","text":"R. Stoyan Tomov","width":"0.04069767353382516","word_num":"0","line_num":"0","height":"0.01771057317511704","page_num":"0","left":"0.03343023367505823"},{"line_num":"0","text":"( Petko Kashinski","top":"0.8013937287417153","page_num":"0","par_num":"0","block_num":"0","left":"0.0334302366242539","width":"0.043604647859613946","conf":"1","height":"0.010452960286604362","level":"0","word_num":"0"},{"left":"0.033430233608541776","height":"0.017552194793068465","par_num":"0","page_num":"0","text":"88. Mario Georgiev","top":"0.8221690590544602","conf":"0.5","block_num":"0","level":"0","word_num":"0","width":"0.045058138827060126","line_num":"0"},{"page_num":"0","line_num":"0","level":"0","top":"0.8466898963487846","width":"0.043604647859613946","height":"0.010566881779088155","par_num":"0","left":"0.03343023662617514","text":"Ss: Todor Stamatov.","conf":"0.5","word_num":"0","block_num":"0"},{"height":"0.013937282410154683","conf":"0.5","top":"0.8675958186090923","width":"0.045058138827060126","line_num":"0","left":"0.033430233608541776","word_num":"0","text":"Pa Gabriela Dureva","par_num":"0","page_num":"0","block_num":"0","level":"0"},{"word_num":"0","text":"#::Annd","width":"0.020348835498728648","height":"0.010452960286604362","left":"0.027616278907612524","level":"0","par_num":"0","conf":"0.30000001192092896","page_num":"0","top":"0.8989547046999035","line_num":"0","block_num":"0"},{"width":"0.03197674294735524","left":"0.03343023298627709","block_num":"0","page_num":"0","word_num":"0","par_num":"0","level":"0","conf":"0.5","line_num":"0","height":"0.017421602252187474","top":"0.9198606275759968","text":"S Jira Cloud"},{"left":"0.03343023412519857","conf":"0.30000001192092896","level":"0","line_num":"0","par_num":"0","text":"® Toast","height":"0.017766144857452204","block_num":"0","page_num":"0","top":"0.9407665505780702","width":"0.023255812360885295","word_num":"0"},{"level":"0","conf":"0.30000001192092896","par_num":"0","line_num":"0","text":"Miston","top":"0.006968641450188162","width":"0.01598837020549368","word_num":"0","height":"0.006968640444571461","left":"0.09302325755713681","page_num":"0","block_num":"0"},{"width":"0.01744185990475594","page_num":"0","text":"Window","top":"-0.00000000002272559918026218","block_num":"0","left":"0.11482558143328095","conf":"1","word_num":"0","line_num":"0","height":"0.017421602252187585","par_num":"0","level":"0"},{"par_num":"0","level":"0","top":"-0.00000000002272559918026218","left":"0.13662790727799573","conf":"1","line_num":"0","block_num":"0","word_num":"0","height":"0.017421602252187585","text":"Help","page_num":"0","width":"0.011627906180442654"},{"line_num":"0","width":"0.07267441648118039","conf":"1","left":"0.14098837474722473","word_num":"0","height":"0.017579980634236048","block_num":"0","page_num":"0","text":"Q Describe what you are looking for","par_num":"0","level":"0","top":"0.027874564683673886"},{"left":"0.113372094092083","conf":"0.5","width":"0.05377906941353007","top":"0.06271777048382365","line_num":"0","height":"0.021014286570571916","par_num":"0","page_num":"0","word_num":"0","block_num":"0","text":"Nikolay Yankov","level":"0"},{"height":"0.01059744650857486","left":"0.10465116432315079","block_num":"0","text":"• Messages","top":"0.10104529652728955","par_num":"0","word_num":"0","line_num":"0","width":"0.024709300791963637","level":"0","conf":"1","page_num":"0"},{"par_num":"0","level":"0","width":"0.02906976354883073","page_num":"0","line_num":"0","conf":"0.30000001192092896","block_num":"0","text":"Add canva","top":"0.1044657097288676","word_num":"0","height":"0.0071770334928229484","left":"0.1351744195663418"},{"top":"0.1044657097288676","page_num":"0","level":"0","left":"0.17005813961545385","par_num":"0","word_num":"0","conf":"0.30000001192092896","line_num":"0","block_num":"0","width":"0.017441858636572022","height":"0.0071770334928229484","text":"ur Files"},{"conf":"0.5","line_num":"0","left":"0.11482558320318606","width":"0.13372091536826275","level":"0","block_num":"0","height":"0.007235383302971465","text":"•ноппри други не знам точно как става и от кьде го взима","par_num":"0","page_num":"0","word_num":"0","top":"0.1219512197142345"},{"par_num":"0","level":"0","page_num":"0","block_num":"0","left":"0.11773256307080245","text":"та Галя ми писа да го видим","width":"0.06540697178942091","word_num":"0","conf":"1","line_num":"0","height":"0.010566881779088155","top":"0.1427432218721273"},{"height":"0.017707794286797807","block_num":"0","top":"0.16347687435296954","level":"0","width":"0.11918604627568671","par_num":"0","line_num":"0","conf":"1","text":"доколкото виждам, тази трябва да е окей иконата","page_num":"0","left":"0.11627907214679953","word_num":"0"},{"par_num":"0","conf":"0.30000001192092896","text":"atminny/app/pubttc/tmunny_c.ong","level":"0","top":"0.18815331006593472","height":"0.006968641205077342","block_num":"0","left":"0.11773255915597408","page_num":"0","width":"0.07848837020549368","line_num":"0","word_num":"0"},{"width":"0.04941860665666295","word_num":"0","text":"Lukas Kovalik 2:41 PM","left":"0.11773255693508003","top":"0.20557491278139528","height":"0.013937282410154683","page_num":"0","block_num":"0","level":"0","conf":"1","par_num":"0","line_num":"0"},{"block_num":"0","height":"0.003484320602538671","left":"0.11773255831754799","page_num":"0","par_num":"0","line_num":"0","word_num":"0","level":"0","top":"0.22996515675850016","text":"aletetl","width":"0.01889534833583427","conf":"0.30000001192092896"},{"top":"0.24720893169881464","line_num":"0","level":"0","page_num":"0","conf":"1","block_num":"0","left":"0.1162790706245697","height":"0.017599429810446376","par_num":"0","text":"ще го погледна","width":"0.03924418510274684","word_num":"0"},{"left":"0.11773256087393302","par_num":"0","word_num":"0","line_num":"0","text":"Nikolav Yankov 2:41 PM","page_num":"0","conf":"0.5","width":"0.052325578446083876","level":"0","height":"0.0071770334928229484","top":"0.27511961722488043","block_num":"0"},{"line_num":"0","top":"0.32055749118026977","level":"0","page_num":"0","par_num":"0","conf":"1","left":"0.11773255928757967","word_num":"0","text":"Nikolay Yankov 7:44 PM","width":"0.053779069413530056","block_num":"0","height":"0.013937282410154683"},{"conf":"0.5","top":"0.34130781499202545","line_num":"0","page_num":"0","left":"0.11773256526198049","height":"0.0071770334928230595","level":"0","par_num":"0","width":"0.11046511061648105","text":"Лукас. за понелелник виж коментаnа от Claude","word_num":"0","block_num":"0"},{"level":"0","line_num":"0","par_num":"0","block_num":"0","word_num":"0","width":"0.09593023137843355","height":"0.017421602252187585","conf":"1","left":"0.11773256032822503","text":"https://github.com/jiminny/app/pull/11998","top":"0.35540069695752985","page_num":"0"},{"width":"0.05377906941353007","level":"0","block_num":"0","page_num":"0","line_num":"0","height":"0.014354066985646008","left":"0.11773255943718407","par_num":"0","text":"Lukas Kovalik 10:20 AM","top":"0.4178628389154705","conf":"1","word_num":"0"},{"conf":"1","line_num":"0","width":"0.13808138827060135","left":"0.11773255367596376","height":"0.007252054351368553","par_num":"0","text":"направих една малка промяна в краина сметка, комитнах го","block_num":"0","page_num":"0","top":"0.4425087111743482","level":"0","word_num":"0"},{"word_num":"0","left":"0.11773255937818321","line_num":"0","level":"0","block_num":"0","conf":"1","par_num":"0","text":"Nikolay Yankov 10:20 AM","top":"0.45993031338261137","height":"0.013937282410154794","page_num":"0","width":"0.0566860462756867"},{"top":"0.5015948963317385","word_num":"0","block_num":"0","level":"0","width":"0.05232557844608386","conf":"1","height":"0.014354066985645897","page_num":"0","par_num":"0","line_num":"0","left":"0.117732560783593","text":"Lukas Kovalik 10:20 AM"},{"par_num":"0","top":"0.5223285486359023","width":"0.07267441648118039","word_num":"0","text":"toвa зa favicon има ли си тикет","page_num":"0","conf":"0.30000001192092896","block_num":"0","level":"0","line_num":"0","height":"0.00728817609698762","left":"0.11773256023955428"},{"height":"0.007188147525087785","level":"0","par_num":"0","text":"Nikolav Yankov 10:21 AM","top":"0.5470383278142917","block_num":"0","width":"0.05523255023550479","word_num":"0","left":"0.11773256588021923","conf":"0.5","line_num":"0","page_num":"0"},{"word_num":"0","height":"0.0073020690175715774","left":"0.11627906891407741","par_num":"0","page_num":"0","level":"0","conf":"0.5","top":"0.588516746345869","line_num":"0","text":"само ми писа","width":"0.03197674548372309","block_num":"0"},{"page_num":"0","conf":"1","block_num":"0","left":"0.11627907367322542","par_num":"0","text":"ако искаш си направи","top":"0.613237639553429","width":"0.05232557844608389","line_num":"0","word_num":"0","height":"0.0071770334928229484","level":"0"},{"level":"0","height":"0.006968641205077342","page_num":"0","width":"0.05377906941353007","conf":"0.5","word_num":"0","text":"лаже по-лооре ла има","left":"0.11627906991128846","block_num":"0","line_num":"0","par_num":"0","top":"0.6376306619661798"},{"text":"Friday. April 24th~","word_num":"0","par_num":"0","line_num":"0","height":"0.010480746888277825","block_num":"0","left":"0.2776162829680394","width":"0.039244182566379016","conf":"0.5","level":"0","page_num":"0","top":"0.1323763954031456"},{"left":"0.2892441862540174","par_num":"0","conf":"0.30000001192092896","level":"0","page_num":"0","text":"Todavv","top":"0.39372822292243226","word_num":"0","block_num":"0","line_num":"0","height":"0.006968641205077342","width":"0.01744185990475594"},{"block_num":"0","conf":"1","height":"0.017768922224759676","line_num":"0","par_num":"0","left":"0.11627907259365675","top":"0.6547049445425557","width":"0.05523255530824053","text":"Lukas Kovalik 10.21AM","page_num":"0","word_num":"0","level":"0"},{"conf":"0.5","line_num":"0","word_num":"0","level":"0","top":"0.6794258373205742","height":"0.0071770334928229484","page_num":"0","width":"0.19912790744862657","block_num":"0","left":"0.11773255752034405","par_num":"0","text":"хубаво да направим. доста време ми отнеме и маи тряова с вес така иначе да се види"},{"conf":"0.5","page_num":"0","text":"от S3 изглежда идва","width":"0.04941860158392722","word_num":"0","top":"0.7001594896331965","height":"0.01064190339813964","block_num":"0","line_num":"0","par_num":"0","left":"0.11627907366496457","level":"0"},{"word_num":"0","page_num":"0","left":"0.11773255937818321","height":"0.017782815145343522","block_num":"0","top":"0.7208931422620036","par_num":"0","level":"0","text":"Nikolay Yankov 10:22 AM","width":"0.0566860462756867","line_num":"0","conf":"1"},{"text":"Nikolav Vankov 12.22 pM","conf":"0.30000001192092896","left":"0.11773255932605839","page_num":"0","line_num":"0","par_num":"0","height":"0.0071770334928229484","block_num":"0","top":"0.766347687400319","width":"0.053779069413530084","word_num":"0","level":"0"},{"left":"0.11773256944966344","block_num":"0","level":"0","conf":"0.30000001192092896","par_num":"0","text":"Пуснах пак перію а вим какро в написало","height":"0.0071770334928229484","top":"0.7838915470494418","width":"0.09593022123296209","word_num":"0","page_num":"0","line_num":"0"},{"page_num":"0","width":"0.20348837020549365","word_num":"0","left":"0.1162790729979442","par_num":"0","block_num":"0","line_num":"0","height":"0.014354066985645897","conf":"1","level":"0","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","top":"0.8046251993620415"},{"text":"трябва ли да го вкарваме в кеш","block_num":"0","conf":"0.5","level":"0","top":"0.8221690591125324","par_num":"0","width":"0.07558139334333706","word_num":"0","page_num":"0","left":"0.1162790715572055","line_num":"0","height":"0.017552194793068354"},{"line_num":"0","level":"0","width":"0.008720929941860467","conf":"0.30000001192092896","height":"0.017421602206736386","block_num":"0","text":"","top":"0.02787456492450635","word_num":"0","page_num":"0","left":"0.47674418604651164","par_num":"0"},{"text":"Lukas Kovalik 4.54 pN","page_num":"0","line_num":"0","par_num":"0","block_num":"0","left":"0.11773255940555027","width":"0.04796511568921677","word_num":"0","height":"0.0071770334928230595","top":"0.8500797448165869","conf":"0.30000001192092896","level":"0"},{"conf":"1","word_num":"0","height":"0.017421602252187474","line_num":"0","left":"0.11627907512980801","level":"0","par_num":"0","top":"0.8641114985835461","page_num":"0","block_num":"0","width":"0.37063951695218994","text":"Ники погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го"},{"page_num":"0","par_num":"0","top":"0.8850174217942274","width":"0.1279069717894209","line_num":"0","level":"0","text":"установим. Това може да е по-бавно, но си e edge case.","conf":"1","block_num":"0","left":"0.1162790757306877","word_num":"0","height":"0.010516868633896892"},{"conf":"1","block_num":"0","top":"0.9198606271549747","width":"0.0566860462756867","word_num":"0","level":"0","left":"0.10610465023724454","line_num":"0","page_num":"0","height":"0.017421602252187474","par_num":"0","text":"Message Nikolay Yankov"},{"block_num":"0","top":"0.9512195119378624","level":"0","height":"0.017680009966641874","text":"+ Aa","line_num":"0","width":"0.018895348335834256","par_num":"0","word_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.10755814010049372"},{"left":"0.8343023291036977","conf":"0.30000001192092896","page_num":"0","width":"0.16279069413530056","word_num":"0","level":"0","top":"0.00000000033500369145400555","line_num":"0","text":"Q4@ 6 100%4 & Mon27 Apr 18:57:03","height":"0.020905922094220375","block_num":"0","par_num":"0"},{"conf":"0.5","level":"0","word_num":"0","text":"*","height":"0.02090592282229975","left":"0.890988372238372","par_num":"0","top":"0.027874564982578343","width":"0.007267441678779241","page_num":"0","block_num":"0","line_num":"0"},{"par_num":"0","top":"0.06271777012826163","conf":"1","width":"0.08284883296236079","left":"0.5029069814629333","text":"Al reports promotion pages #11998","word_num":"0","block_num":"0","page_num":"0","level":"0","line_num":"0","height":"0.017421602252187585"},{"word_num":"0","height":"0.010475189872145352","left":"0.5029069820387471","block_num":"0","level":"0","page_num":"0","line_num":"0","par_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","width":"0.21947674041098741","conf":"1","top":"0.08362369354010668"},{"line_num":"0","top":"0.10765550223535247","text":"ranoramakeportsrrono ledtures grie nou","word_num":"0","par_num":"0","width":"0.08720929571922797","left":"0.515988370209941","page_num":"0","height":"0.007327075970420038","block_num":"0","conf":"0.30000001192092896","level":"0"},{"top":"0.10446570957187562","width":"0.12936045261139562","line_num":"0","word_num":"0","conf":"0.30000001192092896","left":"0.6206395320015682","level":"0","page_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","block_num":"0","height":"0.010516868633896892","par_num":"0"},{"left":"0.5145348831763734","top":"0.12543554003627422","width":"0.023255814897253146","text":"leseeis","word_num":"0","page_num":"0","conf":"0.30000001192092896","block_num":"0","par_num":"0","level":"0","height":"0.003484320602538671","line_num":"0"},{"top":"0.11483253561555695","width":"0.04069767099745736","par_num":"0","page_num":"0","word_num":"0","height":"0.017571645490290444","block_num":"0","left":"0.6206395381627619","line_num":"0","conf":"1","text":"added at line 170","level":"0"},{"line_num":"0","top":"0.14274322169059017","level":"0","par_num":"0","height":"0.01754385964912275","text":"Fixed - both now say \"We will get in touch with you as soon","width":"0.1308139435788419","block_num":"0","word_num":"0","left":"0.6206395418231858","page_num":"0","conf":"1"},{"top":"0.15311004759362778","width":"0.08720929571922786","text":"Wording inconsistency (modal vs inline)","left":"0.5145348893682301","conf":"1","level":"0","height":"0.017621659395987477","line_num":"0","block_num":"0","word_num":"0","page_num":"0","par_num":"0"},{"height":"0.006968641205077342","level":"0","top":"0.16724738673389183","conf":"0.5","page_num":"0","block_num":"0","par_num":"0","word_num":"0","left":"0.6206395362891324","width":"0.027616277654120225","text":"as possible.","line_num":"0"},{"word_num":"0","text":"nrer compured calling can a second","width":"0.08866277654120269","level":"0","left":"0.514534888937681","page_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461","line_num":"0","par_num":"0","top":"0.1951219515547178","block_num":"0"},{"left":"0.620639539097222","block_num":"0","page_num":"0","conf":"1","level":"0","top":"0.18815330979979739","height":"0.0175883172991933","width":"0.11482557337334798","text":"Fixed - canManageAiReports extracted as a shared","par_num":"0","line_num":"0","word_num":"0"},{"page_num":"0","line_num":"0","height":"0.017421602252187474","level":"0","conf":"1","text":"computed","width":"0.023255812360885253","left":"0.6220930244397125","top":"0.20557491298540453","word_num":"0","block_num":"0","par_num":"0"},{"block_num":"0","level":"0","par_num":"0","conf":"1","text":"time","top":"0.20557491302895847","page_num":"0","width":"0.011627906180442626","left":"0.5145348842644298","line_num":"0","word_num":"0","height":"0.017421602252187585"},{"height":"0.017746694160230114","level":"0","page_num":"0","word_num":"0","line_num":"0","conf":"1","left":"0.5159883762736059","par_num":"0","block_num":"0","text":"trackInterest endpoint missing rate","top":"0.23344947777831704","width":"0.08284883296236079"},{"conf":"1","word_num":"0","height":"0.006968640444571461","par_num":"0","text":"limitina","line_num":"0","block_num":"0","level":"0","top":"0.25435540103206966","left":"0.5145348854641136","width":"0.015988370205493596","page_num":"0"},{"left":"0.6206395358560387","width":"0.05523255530824056","word_num":"0","height":"0.017807823619203744","line_num":"0","conf":"1","top":"0.24003189772282119","par_num":"0","text":"Still present (see below)","level":"0","block_num":"0","page_num":"0"},{"text":"Remaining issues","height":"0.017613322731030334","top":"0.31339712947633447","par_num":"0","width":"0.0479651156892168","word_num":"0","page_num":"0","left":"0.5000000013287278","line_num":"0","conf":"1","block_num":"0","level":"0"},{"conf":"0.5","page_num":"0","height":"0.017596652443139016","block_num":"0","left":"0.500000004738088","par_num":"0","width":"0.10319766592472168","line_num":"0","level":"0","text":". Extra DB query still fires on every page load","top":"0.34843205595226867","word_num":"0"},{"top":"0.3763066205923885","left":"0.4999999984771364","line_num":"0","width":"0.24709301806510764","par_num":"0","page_num":"0","height":"0.017632773428252313","conf":"1","word_num":"0","level":"0","block_num":"0","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297"},{"top":"0.4178628388386477","word_num":"0","block_num":"0","height":"0.010708589112739642","page_num":"0","conf":"1","left":"0.502907000810188","par_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).","line_num":"0","level":"0","width":"0.2194767201200445"},{"left":"0.5000000072941873","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","par_num":"0","top":"0.45993031375224214","line_num":"0","word_num":"0","block_num":"0","width":"0.24127905419532292","conf":"0.5","level":"0","page_num":"0","height":"0.017741137904603743"},{"par_num":"0","top":"0.4773519162821602","conf":"1","width":"0.25000000000000006","word_num":"0","line_num":"0","height":"0.013937282410154683","page_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","block_num":"0","level":"0","left":"0.49999999992732563"},{"top":"0.4912280702286602","conf":"1","level":"0","width":"0.24854649888708236","page_num":"0","word_num":"0","line_num":"0","height":"0.020967051553193783","block_num":"0","left":"0.5014534918272605","par_num":"0","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two"},{"word_num":"0","text":"ISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as the","page_num":"0","line_num":"0","level":"0","height":"0.010686361048210191","par_num":"0","left":"0.5000000058259358","conf":"1","top":"0.5119617223575448","width":"0.22819764563377865","block_num":"0"},{"block_num":"0","par_num":"0","page_num":"0","width":"0.08720930586469933","word_num":"0","left":"0.5014534853695082","conf":"0.5","top":"0.5606060607314207","line_num":"0","text":"uaaested mitiaations (in order of effort):","level":"0","height":"0.0073381900026847635"},{"conf":"1","level":"0","par_num":"0","line_num":"0","page_num":"0","left":"0.5014534869745092","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","top":"0.5853269537480064","width":"0.17587209255137348","height":"0.01754385964912286","word_num":"0","block_num":"0"},{"left":"0.5058139713227934","width":"0.23982555308240527","conf":"0.5","page_num":"0","par_num":"0","height":"0.01762721565161396","top":"0.6027874571526035","level":"0","block_num":"0","line_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","word_num":"0"},{"top":"0.6267942582824599","width":"0.12354649888708236","line_num":"0","text":"transtorm() Is called multiple times in a single response","height":"0.007352082923268499","conf":"0.5","level":"0","par_num":"0","word_num":"0","block_num":"0","page_num":"0","left":"0.5072674434499944"},{"level":"0","left":"0.5000000099048465","top":"0.6376306621143244","width":"0.2558139435788418","height":"0.017421602252187474","conf":"1","word_num":"0","line_num":"0","page_num":"0","text":"• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/","block_num":"0","par_num":"0"},{"par_num":"0","conf":"1","text":"deletion pipeline — eliminates the querv entirelv.","width":"0.10465115689216775","level":"0","line_num":"0","left":"0.5058139616289973","top":"0.6618819776714514","block_num":"0","word_num":"0","page_num":"0","height":"0.0071770334928229484"},{"width":"0.021802323929806966","line_num":"0","par_num":"0","top":"0.6864111496195452","conf":"0.5","word_num":"0","page_num":"0","left":"0.5000000014415185","text":"Fix this →","block_num":"0","level":"0","height":"0.013937282410154683"},{"left":"0.4985465185881723","page_num":"0","width":"0.15552324944354118","conf":"1","height":"0.017807823619203744","block_num":"0","word_num":"0","level":"0","line_num":"0","par_num":"0","text":"2. trackInterest endpoint has no rate limit or idempotency guard","top":"0.742160278657975"},{"conf":"1","level":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","line_num":"0","page_num":"0","left":"0.49996836441857584","block_num":"0","top":"0.7722896015036981","width":"0.22824831211820562","height":"0.015257937295965363","word_num":"0","par_num":"0"},{"top":"0.7944250870834626","left":"0.4999999995712994","word_num":"0","block_num":"0","level":"0","page_num":"0","height":"0.006968641205077342","text":"pi.php:282","width":"0.02470930332833149","line_num":"0","conf":"0.5","par_num":"0"},{"text":"public function trackInterest(Request srequest): JsonResponse","block_num":"0","conf":"0.5","left":"0.5029069762911409","level":"0","line_num":"0","width":"0.14534883296236079","top":"0.8325358853529533","height":"0.021122651046923346","page_num":"0","par_num":"0","word_num":"0"},{"conf":"0.5","page_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","par_num":"0","word_num":"0","block_num":"0","left":"0.5116279148651706","level":"0","top":"0.8604465709728868","line_num":"0","width":"0.23255810839064572","height":"0.0071770334928229484"},{"line_num":"0","page_num":"0","block_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","width":"0.25290696164394944","word_num":"0","conf":"1","left":"0.500000019045948","top":"0.9266347687970263","level":"0","height":"0.010647460414272003","par_num":"0"},{"line_num":"0","level":"0","height":"0.017766144857452204","page_num":"0","top":"0.9407665505780702","word_num":"0","width":"0.2441860564211581","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","left":"0.49999999512449644","block_num":"0","par_num":"0","conf":"1"},{"word_num":"0","left":"0.5000000013824143","level":"0","text":"racking noise in analytics.","block_num":"0","height":"0.017421602252187474","line_num":"0","par_num":"0","conf":"1","page_num":"0","top":"0.958188153403523","width":"0.05668604627568663"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4732
|
NULL
|
NULL
|
|
89216
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:57:04181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"line_num":"0","word_num" [{"line_num":"0","word_num":"0","conf":"1","par_num":"0","block_num":"0","height":"0.013953487608167836","width":"0.03633720874786377","page_num":"0","level":"0","text":"iTerm2","left":"0.033430232229750306","top":"0.006976744645528443"},{"left":"0.08284883942658913","block_num":"0","word_num":"0","conf":"0.5","text":"Shell Edit View","height":"0.016666666666666607","width":"0.08720929887559678","line_num":"0","par_num":"0","top":"0.004444444444444473","level":"0","page_num":"0"},{"block_num":"0","word_num":"0","page_num":"0","line_num":"0","left":"0.18168604790258086","text":"Session","par_num":"0","width":"0.034883719020419646","top":"0.0069767444517300214","level":"0","conf":"1","height":"0.013953487608167836"},{"left":"0.2296406737588108","conf":"0.5","par_num":"0","width":"0.031997723049587645","line_num":"0","level":"0","word_num":"0","block_num":"0","page_num":"0","height":"0.014077084859212219","top":"0.006914945827753649","text":"Scripts"},{"block_num":"0","left":"0.27323585639556563","level":"0","conf":"1","height":"0.014200344085693373","page_num":"0","width":"0.033470148510403086","par_num":"0","line_num":"0","text":"Profiles","top":"0.006853316216056116","word_num":"0"},{"line_num":"0","top":"0.006976744645528443","left":"0.31831395315998284","height":"0.013953487608167836","page_num":"0","conf":"1","level":"0","block_num":"0","text":"Window","width":"0.03633720874786378","word_num":"0","par_num":"0"},{"conf":"1","left":"0.36773255878967304","top":"0.006976744474985863","text":"Help","height":"0.013953487608167836","line_num":"0","width":"0.02034883631600276","block_num":"0","par_num":"0","word_num":"0","level":"0","page_num":"0"},{"left":"0.47529069803997187","height":"0.014496124055650483","page_num":"0","level":"0","text":"APP (-zsh)","par_num":"0","line_num":"0","width":"0.049418603049384224","word_num":"0","top":"0.03666666662527551","conf":"1","block_num":"0"},{"page_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"DOCKER","width":"0.03488371902041965","conf":"1","word_num":"0","top":"0.06511627921917185","level":"0","height":"0.013953487608167947","left":"0.050872094365759145"},{"level":"0","width":"0.01017441815800138","text":"881","word_num":"0","left":"0.14680232584832487","top":"0.06744186045818157","par_num":"0","height":"0.011627907223171752","conf":"0.30000001192092896","block_num":"0","page_num":"0","line_num":"0"},{"line_num":"0","top":"0.0674418609589309","page_num":"0","block_num":"0","height":"0.011627906163533597","par_num":"0","text":"DEV (docker)","left":"0.2107558135640147","word_num":"0","width":"0.05087209277682833","level":"0","conf":"1"},{"text":"₴82","width":"0.014534884028964579","level":"0","page_num":"0","conf":"0.30000001192092896","left":"0.30813953472970373","line_num":"0","word_num":"0","block_num":"0","top":"0.06744186045818157","height":"0.011627907223171752","par_num":"0"},{"conf":"0.5","height":"0.011627906163533597","top":"0.0674418609589309","page_num":"0","left":"0.3793604658741403","text":"APP (-zsh)","line_num":"0","width":"0.040697672632005466","block_num":"0","level":"0","par_num":"0","word_num":"0"},{"block_num":"0","page_num":"0","level":"0","conf":"0.30000001192092896","text":"83","height":"0.013953487608167947","line_num":"0","top":"0.06511627921917185","width":"0.013081394301520444","word_num":"0","par_num":"0","left":"0.47238372128431727"},{"par_num":"0","left":"0.5348576004786272","top":"0.0648826047097042","page_num":"0","word_num":"0","height":"0.014420836766560807","level":"0","width":"0.048017358779907204","block_num":"0","conf":"0.5","line_num":"0","text":"screenpipe\""},{"word_num":"0","par_num":"0","top":"0.09069767473716484","height":"0.016279069052802186","width":"0.2790697521633572","line_num":"0","level":"0","conf":"1","block_num":"0","page_num":"0","left":"0.008720942522972407","text":"front-end/src/components/AiReports/Manage/__tests_"},{"text":"_/ManageAiReports.spec.js","height":"0.01860465155707458","left":"0.2863372117089401","top":"0.0906976745315402","width":"0.14098837110731333","word_num":"0","block_num":"0","page_num":"0","level":"0","conf":"1","line_num":"0","par_num":"0"},{"conf":"1","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","top":"0.1093023258515059","par_num":"0","block_num":"0","line_num":"0","page_num":"0","width":"0.44622090657552077","word_num":"0","left":"0.00872094763883828","height":"0.016279069052802186","level":"0"},{"block_num":"0","page_num":"0","par_num":"0","height":"0.016279069052802186","top":"0.13023255838057568","level":"0","width":"0.5232557932535807","line_num":"0","word_num":"0","conf":"1","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","left":"0.008720945815069964"},{"top":"0.1488372093377417","level":"0","line_num":"0","par_num":"0","block_num":"0","left":"0.00872092909910249","page_num":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","width":"0.6002906799316406","height":"0.018604651557074692","word_num":"0","conf":"1"},{"height":"0.018604651557074692","line_num":"0","conf":"1","page_num":"0","top":"0.16976744197340066","left":"0.008720941327598099","block_num":"0","level":"0","text":"front-end/src/components/AiReports/constants.js","width":"0.26308138105604384","par_num":"0","word_num":"0"},{"top":"0.18837209251603637","page_num":"0","height":"0.01860465155707458","width":"0.4127906799316406","line_num":"0","conf":"1","left":"0.008720944627202777","par_num":"0","block_num":"0","level":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","word_num":"0"},{"level":"0","line_num":"0","conf":"1","word_num":"0","left":"0.008720936305477206","width":"0.4069767422146267","par_num":"0","block_num":"0","page_num":"0","top":"0.20930232526797432","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","height":"0.01860465155707458"},{"block_num":"0","par_num":"0","width":"0.35755814446343315","height":"0.016279069052802186","level":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","page_num":"0","line_num":"0","word_num":"0","left":"0.00872093223776006","conf":"1","top":"0.2302325584096454"},{"text":"front-end/src/components/Settings/shared/FormElements/Field.vue","level":"0","par_num":"0","top":"0.2488372089889045","line_num":"0","page_num":"0","left":"0.008720934875787774","height":"0.018604651557074692","width":"0.35174418555365666","word_num":"0","block_num":"0","conf":"1"},{"width":"0.4854651133219401","page_num":"0","left":"0.008720937779436768","level":"0","par_num":"0","conf":"1","block_num":"0","word_num":"0","height":"0.01860465155707458","top":"0.26976744154704413","line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js"},{"left":"0.008720939940422036","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","word_num":"0","page_num":"0","line_num":"0","conf":"1","top":"0.29069767465964547","height":"0.016279069052802075","level":"0","block_num":"0","par_num":"0","width":"0.3793604532877604"},{"width":"0.3851743910047743","page_num":"0","par_num":"0","block_num":"0","level":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","word_num":"0","conf":"1","left":"0.008720948847176679","top":"0.3093023252679743","height":"0.01860465155707458"},{"conf":"1","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","word_num":"0","left":"0.01017442358565618","block_num":"0","level":"0","width":"0.27180230882432727","height":"0.011627906163533597","line_num":"0","par_num":"0","top":"0.3325581400286983"},{"text":"__mocks__/nudges.js","left":"0.2805232549080388","width":"0.1061046494377984","level":"0","top":"0.3325581400718851","height":"0.013953487608167836","word_num":"0","block_num":"0","page_num":"0","conf":"0.5","line_num":"0","par_num":"0"},{"page_num":"0","left":"0.008720944988524652","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","top":"0.3488372088726255","width":"0.4622092776828342","block_num":"0","height":"0.01860465155707458","level":"0","line_num":"0","par_num":"0","word_num":"0","conf":"1"},{"text":"front-end/src/components/shared/SavedSearchModal/__tests_.","block_num":"0","width":"0.3183139377170139","left":"0.008720943423469624","line_num":"0","word_num":"0","height":"0.01860465155707458","page_num":"0","conf":"1","level":"0","par_num":"0","top":"0.3697674416633232"},{"left":"0.008720939432180469","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","conf":"1","height":"0.020930230882432732","par_num":"0","level":"0","top":"0.3883720938223495","width":"0.31540696885850694","word_num":"0","line_num":"0","block_num":"0"},{"top":"0.36976744175634635","width":"0.2790697521633572","word_num":"0","par_num":"0","block_num":"0","conf":"1","left":"0.32994186531367026","height":"0.018604651557074692","line_num":"0","page_num":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","level":"0"},{"top":"0.3883720925160363","block_num":"0","level":"0","width":"0.25145348442925347","conf":"1","line_num":"0","word_num":"0","text":"/__snapshots__/saved-search-modal.output.html","page_num":"0","height":"0.01860465155707458","par_num":"0","left":"0.329941858342544"},{"level":"0","page_num":"0","top":"0.4093023252679743","width":"0.32412789662679037","block_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","conf":"1","left":"0.008720939459133782","height":"0.018604651557074692","line_num":"0","word_num":"0"},{"block_num":"0","conf":"1","level":"0","page_num":"0","line_num":"0","par_num":"0","left":"0.008720945245547382","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","top":"0.4302325583805757","width":"0.36773253546820744","height":"0.016279069052802075","word_num":"0"},{"width":"0.4854651133219401","word_num":"0","line_num":"0","conf":"1","block_num":"0","level":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","page_num":"0","par_num":"0","height":"0.01860465155707458","left":"0.008720939802207934","top":"0.4488372090276642"},{"height":"0.016279069052802075","word_num":"0","width":"0.49709298875596786","par_num":"0","top":"0.4697674423340641","page_num":"0","level":"0","block_num":"0","line_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","conf":"1","left":"0.007267450825504717"},{"block_num":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","width":"0.245639525519477","left":"0.008720936961676194","level":"0","height":"0.016279069052802186","word_num":"0","page_num":"0","top":"0.49069767467902525","conf":"1","par_num":"0","line_num":"0"},{"page_num":"0","height":"0.01860465155707458","word_num":"0","conf":"1","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","line_num":"0","block_num":"0","par_num":"0","top":"0.509302325306734","width":"0.3241278966267904","left":"0.008720940809666643","level":"0"},{"width":"0.4127906799316406","level":"0","line_num":"0","word_num":"0","height":"0.016279069052802186","conf":"1","left":"0.008720944263830709","page_num":"0","par_num":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","top":"0.5302325584096454","block_num":"0"},{"top":"0.548837209182703","word_num":"0","block_num":"0","page_num":"0","conf":"1","width":"0.3808139377170139","height":"0.018604651557074692","par_num":"0","line_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","level":"0","left":"0.007267443399245208"},{"block_num":"0","par_num":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","page_num":"0","word_num":"0","level":"0","left":"0.00872094066747218","height":"0.018604651557074692","line_num":"0","top":"0.5697674415470441","width":"0.26308138105604384","conf":"1"},{"width":"0.2790697521633572","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","block_num":"0","left":"0.008720935081112163","par_num":"0","word_num":"0","line_num":"0","page_num":"0","height":"0.016279069052802297","conf":"1","level":"0","top":"0.5906976748922036"},{"left":"0.008720935288035392","level":"0","par_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","page_num":"0","block_num":"0","width":"0.40697674221462665","height":"0.018604651557074692","word_num":"0","top":"0.6093023252912301","line_num":"0","conf":"1"},{"height":"0.018604651557074692","width":"0.3735465155707466","page_num":"0","par_num":"0","word_num":"0","level":"0","line_num":"0","top":"0.630232558174951","left":"0.008720932494423177","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","block_num":"0","conf":"1"},{"word_num":"0","height":"0.018604651557074692","left":"0.008720925345802873","page_num":"0","top":"0.6488372087951062","block_num":"0","conf":"1","level":"0","width":"0.3575581444634332","par_num":"0","line_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php"},{"page_num":"0","level":"0","line_num":"0","par_num":"0","top":"0.6674418601201179","word_num":"0","conf":"1","width":"0.30668604109022357","left":"0.008720930055878897","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","block_num":"0","height":"0.023669251335991737"},{"block_num":"0","left":"0.30000000013888894","width":"0.06666666666666665","page_num":"0","par_num":"0","height":"0.053333333333333344","text":"rtarest. php","word_num":"0","line_num":"0","level":"0","top":"0.64","conf":"0.30000001192092896"},{"text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","height":"0.016279069052802186","word_num":"0","line_num":"0","par_num":"0","left":"0.008720943324406762","top":"0.6906976746596454","block_num":"0","conf":"1","page_num":"0","width":"0.45784882439507385","level":"0"},{"height":"0.019018088446723147","par_num":"0","top":"0.7088888885350363","width":"0.43459303114149306","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","page_num":"0","conf":"1","left":"0.008720919944754178","line_num":"0","word_num":"0","block_num":"0","level":"0"},{"text":"fonitrn/esComedad.ron,.php","left":"0.3208333309027779","level":"0","width":"0.14583333333333337","top":"0.6866666667777778","conf":"0.30000001192092896","line_num":"0","page_num":"0","block_num":"0","height":"0.046666666666666634","par_num":"0","word_num":"0"},{"line_num":"0","level":"0","word_num":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","conf":"1","page_num":"0","par_num":"0","block_num":"0","left":"0.008720931874829398","width":"0.4186046600341797","height":"0.01666666666666672","top":"0.73"},{"par_num":"0","top":"0.7488372099361025","left":"0.008720944031500208","line_num":"0","page_num":"0","level":"0","block_num":"0","height":"0.0189405674404568","conf":"1","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","word_num":"0","width":"0.5188953399658203"},{"left":"0.00872094292957427","par_num":"0","conf":"1","line_num":"0","top":"0.769767441714528","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","width":"0.556686019897461","height":"0.01912144766913515","word_num":"0","level":"0","page_num":"0","block_num":"0"},{"top":"0.7883720927330905","level":"0","page_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","word_num":"0","left":"0.008720950932465657","conf":"1","line_num":"0","height":"0.018604651557074692","par_num":"0","block_num":"0","width":"0.5232557932535807"},{"top":"0.8088888884187573","conf":"1","width":"0.5130814022488065","level":"0","line_num":"0","word_num":"0","par_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","block_num":"0","page_num":"0","left":"0.008720932168461499","height":"0.019018088446723147"},{"height":"0.018888888888888955","line_num":"0","block_num":"0","top":"0.83","conf":"1","par_num":"0","page_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","word_num":"0","width":"0.5901162889268663","level":"0","left":"0.00872093066119501"},{"width":"0.5901162889268663","conf":"1","par_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","page_num":"0","height":"0.0189405674404568","level":"0","block_num":"0","left":"0.00872093066119501","word_num":"0","line_num":"0","top":"0.8488372098663348"},{"word_num":"0","left":"0.00872095191817562","page_num":"0","line_num":"0","width":"0.6017441643608942","height":"0.016279069052802186","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","conf":"1","block_num":"0","par_num":"0","top":"0.8697674421015059","level":"0"},{"left":"0.008720941480167237","level":"0","par_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","width":"0.5188953399658204","block_num":"0","conf":"1","top":"0.8906976746596453","line_num":"0","word_num":"0","page_num":"0","height":"0.016279069052802186"},{"top":"0.9088888883993775","conf":"1","block_num":"0","word_num":"0","height":"0.019018088446723036","width":"0.5130813598632812","level":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","line_num":"0","left":"0.008720965718114076","page_num":"0","par_num":"0"},{"width":"0.4796511332194011","left":"0.008720959803854693","conf":"1","block_num":"0","line_num":"0","level":"0","height":"0.016666666666666607","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","top":"0.93","word_num":"0","page_num":"0","par_num":"0"},{"level":"0","width":"0.4636627621120876","block_num":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","top":"0.9488372099361024","word_num":"0","left":"0.008720958818144888","par_num":"0","height":"0.0189405674404568","conf":"1","page_num":"0","line_num":"0"},{"text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","line_num":"0","top":"0.9674418601201177","block_num":"0","level":"0","height":"0.02144702911376961","conf":"1","width":"0.5348837110731336","left":"0.004360485232488721","page_num":"0","par_num":"0","word_num":"0"},{"height":"0.013953487608167836","level":"0","conf":"0.30000001192092896","par_num":"0","text":"O 84","top":"0.06511627927731145","word_num":"0","width":"0.024709301524692084","block_num":"0","left":"0.6250000001737047","line_num":"0","page_num":"0"},{"word_num":"0","line_num":"0","width":"0.017441859510209823","page_num":"0","height":"0.011627906163533597","left":"0.7194767443728021","par_num":"0","conf":"0.5","block_num":"0","level":"0","top":"0.06744186098800065","text":"-zsh"},{"word_num":"0","text":"885","width":"0.01453488270441694","top":"0.0674418609589309","block_num":"0","par_num":"0","page_num":"0","conf":"0.30000001192092896","height":"0.011627906163533597","left":"0.7994186049777334","level":"0","line_num":"0"},{"text":"100% <7","level":"0","word_num":"0","line_num":"0","block_num":"0","height":"0.014181681738959395","width":"0.04218044016096334","page_num":"0","top":"0.0068626474102171375","conf":"0.30000001192092896","left":"0.8168458269716159","par_num":"0"},{"height":"0.014444444444444371","line_num":"0","word_num":"0","text":"Mon 27 Apr 18:57:04","block_num":"0","conf":"1","level":"0","width":"0.09738372166951492","par_num":"0","left":"0.8909883701829538","top":"0.00666666666666671","page_num":"0"},{"height":"0.013953487608167836","left":"0.9723837216312426","par_num":"0","top":"0.034883721195916095","block_num":"0","width":"0.020348836316002705","level":"0","text":"181","line_num":"0","conf":"0.30000001192092896","page_num":"0","word_num":"0"},{"width":"0.11046511332194009","block_num":"0","level":"0","page_num":"0","word_num":"0","top":"0.06744186083296189","height":"0.011627906163533597","line_num":"0","text":"ec2-user@ip-10-30-95-134:...","conf":"1","par_num":"0","left":"0.8372093056452314"},{"level":"0","text":"• ₴6|","top":"0.06511627933545094","page_num":"0","left":"0.9534883728710178","word_num":"0","block_num":"0","conf":"0.30000001192092896","width":"0.024709301524692084","height":"0.013953487608167836","par_num":"0","line_num":"0"},{"block_num":"0","line_num":"0","text":"66","conf":"1","word_num":"0","left":"0.6511627904225332","top":"0.09069767487282365","width":"0.014534884028964523","par_num":"0","height":"0.016279069052802297","page_num":"0","level":"0"},{"line_num":"0","par_num":"0","width":"0.024709301524692084","text":"++++","word_num":"0","page_num":"0","block_num":"0","top":"0.09302325610427975","conf":"1","left":"0.668604651975057","height":"0.011627906163533486","level":"0"},{"page_num":"0","conf":"1","width":"0.03052325513627796","height":"0.01669250594245064","level":"0","left":"0.6511627914915763","text":"23 +-","word_num":"0","block_num":"0","line_num":"0","top":"0.1088888889538393","par_num":"0"},{"line_num":"0","par_num":"0","text":"20","top":"0.130232558334064","height":"0.016279069052802186","conf":"1","width":"0.014534884028964634","page_num":"0","word_num":"0","block_num":"0","level":"0","left":"0.6511627904273781"},{"width":"0.013081394301520444","conf":"0.5","left":"0.6686046519044723","line_num":"0","par_num":"0","block_num":"0","height":"0.011627906163533486","word_num":"0","level":"0","page_num":"0","top":"0.13255813982521003","text":"+-"},{"height":"0.013953487906976814","left":"0.658430232751938","word_num":"0","page_num":"0","level":"0","par_num":"0","top":"0.15116279116279063","conf":"1","width":"0.007267441618217019","text":"4","block_num":"0","line_num":"0"},{"top":"0.15348837269342708","left":"0.6686046510880266","conf":"0.30000001192092896","level":"0","page_num":"0","block_num":"0","text":"+-","width":"0.01162790722317164","line_num":"0","height":"0.011627906163533486","par_num":"0","word_num":"0"},{"height":"0.013953487608167947","left":"0.6584302333351134","text":"7 +","block_num":"0","level":"0","line_num":"0","par_num":"0","word_num":"0","conf":"0.30000001192092896","page_num":"0","top":"0.16976744216490824","width":"0.01889534791310632"},{"width":"0.01889534791310632","top":"0.19069767472304788","par_num":"0","word_num":"0","level":"0","line_num":"0","page_num":"0","left":"0.6584302333351134","height":"0.013953487608167836","conf":"0.5","text":"1 +","block_num":"0"},{"top":"0.20930232582243613","level":"0","block_num":"0","conf":"1","width":"0.015988371107313437","word_num":"0","page_num":"0","par_num":"0","line_num":"0","left":"0.6511627914570022","height":"0.016279069052802186","text":"24"},{"par_num":"0","top":"0.21395348820707683","word_num":"0","level":"0","left":"0.6700581396855341","line_num":"0","text":"+-","height":"0.009302325778537401","conf":"0.5","block_num":"0","page_num":"0","width":"0.010174418158001464"},{"page_num":"0","height":"0.013953487608167947","block_num":"0","left":"0.6511627910242451","line_num":"0","par_num":"0","top":"0.23023255863777647","conf":"1","width":"0.01453488270441694","level":"0","text":"10","word_num":"0"},{"line_num":"0","top":"0.2488372092900042","text":"5 +","word_num":"0","block_num":"0","height":"0.01671834627787272","width":"0.01889534791310632","par_num":"0","level":"0","left":"0.6584302327537183","page_num":"0","conf":"0.5"},{"word_num":"0","page_num":"0","text":"170","level":"0","block_num":"0","left":"0.646802325807255","width":"0.01889534791310621","line_num":"0","par_num":"0","top":"0.26976744235870675","conf":"1","height":"0.013953487608167836"},{"top":"0.2906976748780866","level":"0","line_num":"0","page_num":"0","width":"0.01453488270441694","block_num":"0","height":"0.013953487608167836","conf":"1","par_num":"0","text":"18","word_num":"0","left":"0.651162790963683"},{"text":"16","par_num":"0","block_num":"0","top":"0.30930232621003295","level":"0","page_num":"0","word_num":"0","height":"0.016279069052802297","conf":"1","line_num":"0","width":"0.01453488270441694","left":"0.651162791205931"},{"left":"0.6686046517106738","block_num":"0","height":"0.011627906163533486","level":"0","conf":"0.30000001192092896","text":"+-","par_num":"0","line_num":"0","top":"0.31395348897249686","width":"0.013081394301520444","page_num":"0","word_num":"0"},{"width":"0.017441859510209934","line_num":"0","conf":"1","page_num":"0","par_num":"0","height":"0.01860465155707458","left":"0.6482558143219299","level":"0","word_num":"0","text":"62","top":"0.3488372088726255","block_num":"0"},{"level":"0","par_num":"0","block_num":"0","left":"0.646802325807255","page_num":"0","line_num":"0","conf":"1","text":"942","word_num":"0","height":"0.013953487608167836","width":"0.01889534791310621","top":"0.36976744235870673"},{"block_num":"0","conf":"1","width":"0.01889534791310621","word_num":"0","level":"0","text":"942","left":"0.646802325807255","par_num":"0","page_num":"0","line_num":"0","top":"0.39069767491684626","height":"0.013953487608167947"},{"conf":"1","left":"0.6511627910605823","word_num":"0","page_num":"0","height":"0.016279069052802186","line_num":"0","par_num":"0","level":"0","block_num":"0","text":"21","top":"0.4093023256673973","width":"0.01453488270441694"},{"width":"0.013081395626068137","conf":"1","word_num":"0","par_num":"0","block_num":"0","line_num":"0","page_num":"0","text":"33","top":"0.4302325580788877","level":"0","height":"0.013953488667805991","left":"0.6526162789947422"},{"conf":"1","level":"0","text":"+++","width":"0.017441859510209823","height":"0.011627906163533486","left":"0.6700581403030346","line_num":"0","block_num":"0","par_num":"0","top":"0.3534883723833495","word_num":"0","page_num":"0"},{"height":"0.08372093200683584","page_num":"0","left":"0.8517441850662857","conf":"0.30000001192092896","par_num":"0","top":"0.14651162688694752","word_num":"0","line_num":"0","text":"APP","width":"0.1395348866780598","block_num":"0","level":"0"},{"page_num":"0","left":"0.6686046489364764","par_num":"0","block_num":"0","text":"++++","conf":"0.30000001192092896","level":"0","width":"0.011627911196814611","word_num":"0","top":"0.4511627900808629","height":"0.0813953484429254","line_num":"0"},{"conf":"1","par_num":"0","width":"0.011627907223171752","word_num":"0","page_num":"0","height":"0.013953488667805991","text":"++","level":"0","block_num":"0","line_num":"0","top":"0.5325581392707482","left":"0.6700581393147707"},{"conf":"0.30000001192092896","top":"0.6116279067372514","height":"0.01162790722317164","word_num":"0","page_num":"0","width":"0.013081395626068137","left":"0.6700581393235938","block_num":"0","level":"0","line_num":"0","par_num":"0","text":"++."}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3843
|
NULL
|
NULL
|
|
89217
|
HomeActivityLaterMoreSlackVIewJiminny…..@ jiminny- HomeActivityLaterMoreSlackVIewJiminny…..@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsic backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga mlatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages. Nikolay YankovP. Galya Dimitrova MA. Aneliya AngelovawYasll VacilerAneliya Angelova,..C. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela Dureva#::AnndS Jira Cloud® ToastMistonWindowHelpQ Describe what you are looking forNikolay Yankov• MessagesAdd canvaur Files•ноппри други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/pubttc/tmunny_c.ongLukas Kovalik 2:41 PMaletetlще го погледнаNikolav Yankov 2:41 PMNikolay Yankov 7:44 PMЛукас. за понелелник виж коментаnа от Claudehttps://github.com/jiminny/app/pull/11998Lukas Kovalik 10:20 AMнаправих една малка промяна в краина сметка, комитнах гоNikolay Yankov 10:20 AMLukas Kovalik 10:20 AMtoвa зa favicon има ли си тикетNikolav Yankov 10:21 AMсамо ми писаако искаш си направилаже по-лооре ла имаFriday. April 24th~TodavvLukas Kovalik 10.21AMхубаво да направим. доста време ми отнеме и маи тряова с вес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMNikolav Vankov 12.22 pMПуснах пак перію а вим какро в написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?трябва ли да го вкарваме в кешLukas Kovalik 4.54 pNНики погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоустановим. Това може да е по-бавно, но си e edge case.зашо въобше е в UserTransformer. той се зарежла+ AaQ4@ 6 100%4 8 Mon27 Apr 18:57:34*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono ledtures grie nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"conf":"1","left":"0 [{"conf":"1","left":"0.0058139540803213065","top":"0.13588850153592147","width":"0.011627906180442649","line_num":"0","par_num":"0","word_num":"0","height":"0.013937282410154683","page_num":"0","text":"Home","block_num":"0","level":"0"},{"left":"0.004360465697692593","page_num":"0","text":"Activity","line_num":"0","par_num":"0","word_num":"0","block_num":"0","height":"0.017421602252187585","conf":"1","top":"0.24390243911780862","width":"0.014534883042599294","level":"0"},{"top":"0.3519163764290747","page_num":"0","text":"Later","word_num":"0","left":"0.005813953538407517","block_num":"0","level":"0","width":"0.010174418383456292","conf":"1","line_num":"0","height":"0.017421602252187474","par_num":"0"},{"level":"0","height":"0.013937282410154683","line_num":"0","text":"More","left":"0.0058139540803213065","block_num":"0","page_num":"0","par_num":"0","top":"0.407665505020242","width":"0.011627906180442649","word_num":"0","conf":"1"},{"par_num":"0","text":"Slack","left":"0.015988372286839896","height":"0.017421602252187585","page_num":"0","conf":"1","line_num":"0","word_num":"0","block_num":"0","width":"0.01453488304259929","top":"-0.00000000002272559918026218","level":"0"},{"word_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","text":"VIew","block_num":"0","left":"0.06395348841001604","height":"0.006968641205077342","level":"0","par_num":"0","top":"0.00696864102015915","width":"0.010174418383456299"},{"left":"0.027616280227326647","block_num":"0","text":"Jiminny…..","height":"0.020905922094220375","page_num":"0","line_num":"0","level":"0","par_num":"0","top":"0.06271777054406291","word_num":"0","conf":"0.5","width":"0.030523254516276906"},{"conf":"0.5","block_num":"0","text":"@ jiminny-x-integrati","page_num":"0","left":"0.03343023162082732","level":"0","height":"0.010452960286604362","par_num":"0","top":"0.09407665591941561","line_num":"0","width":"0.04941860158392724","word_num":"0"},{"text":"& platform-inner-team","line_num":"0","page_num":"0","width":"0.05377906941353006","top":"0.11483253574621899","block_num":"0","conf":"0.5","left":"0.03343023206285708","par_num":"0","height":"0.017571645490290444","word_num":"0","level":"0"},{"word_num":"0","left":"0.029069768796061723","level":"0","top":"0.14274322169059017","block_num":"0","conf":"0.30000001192092896","par_num":"0","line_num":"0","width":"0.029069766085198585","text":"© Channels","height":"0.01754385964912275","page_num":"0"},{"block_num":"0","par_num":"0","left":"0.0333854731523376","height":"0.01843704941550317","text":"# ai-chapter","top":"0.16673966325440914","word_num":"0","line_num":"0","width":"0.03351975248215046","conf":"1","level":"0","page_num":"0"},{"text":"# alerts","level":"0","line_num":"0","word_num":"0","height":"0.01758831577818165","block_num":"0","conf":"0.5","page_num":"0","par_num":"0","top":"0.18815331079259123","width":"0.021802323929806973","left":"0.033430233468533056"},{"line_num":"0","word_num":"0","level":"0","par_num":"0","top":"0.2160278744399171","width":"0.027616277654120266","height":"0.007257612128006796","block_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.03343023381885928","text":"ic backend"},{"par_num":"0","conf":"0.5","level":"0","top":"0.23344947777831704","left":"0.033430233663020295","width":"0.045058138827060126","height":"0.017746694160230114","word_num":"0","block_num":"0","line_num":"0","page_num":"0","text":"# confusion-clinic"},{"page_num":"0","text":"# curiosity_lab","level":"0","height":"0.014354066985645897","width":"0.037790696671668525","conf":"1","left":"0.03343023341543612","par_num":"0","top":"0.25757575757575757","word_num":"0","block_num":"0","line_num":"0"},{"level":"0","top":"0.2787456450411536","line_num":"0","page_num":"0","block_num":"0","conf":"1","height":"0.017421602252187585","par_num":"0","width":"0.03633720824059019","text":"# engineering","left":"0.03343023248338709","word_num":"0"},{"par_num":"0","word_num":"0","line_num":"0","page_num":"0","text":"# generall","height":"0.010558546635142552","level":"0","left":"0.03343023460359518","top":"0.3030303029362562","width":"0.026162789223041938","conf":"0.5","block_num":"0"},{"height":"0.017699459142852314","block_num":"0","word_num":"0","left":"0.033430233678823834","top":"0.3237639551848104","width":"0.04069767353382517","level":"0","page_num":"0","par_num":"0","line_num":"0","text":"# infra-changes","conf":"1"},{"level":"0","text":"# jiminny-bg","left":"0.03343023267189024","par_num":"0","height":"0.017421602252187474","top":"0.3449477351689121","line_num":"0","width":"0.03343023137843355","block_num":"0","word_num":"0","conf":"1","page_num":"0"},{"text":"a mlatorm-nckets","par_num":"0","width":"0.04360465293234968","conf":"0.30000001192092896","block_num":"0","top":"0.3728222995949062","word_num":"0","page_num":"0","left":"0.03343023160068563","line_num":"0","height":"0.006968641205077342","level":"0"},{"line_num":"0","top":"0.3899521529042582","left":"0.03343023562535342","word_num":"0","page_num":"0","par_num":"0","block_num":"0","height":"0.01771335206343605","conf":"1","level":"0","width":"0.04941860158392724","text":"# product_launches"},{"word_num":"0","left":"0.03343023460359518","level":"0","conf":"1","line_num":"0","block_num":"0","text":"# random","page_num":"0","width":"0.026162789223041938","top":"0.4146341468601822","par_num":"0","height":"0.010452960286604362"},{"height":"0.014354066985646008","level":"0","word_num":"0","text":"# releases","top":"0.43540669856459324","line_num":"0","block_num":"0","conf":"1","par_num":"0","width":"0.02761627765412026","page_num":"0","left":"0.033430233971852706"},{"text":"# sofia-office","left":"0.03343023258555416","line_num":"0","par_num":"0","top":"0.45614035056563407","width":"0.034883719809511875","conf":"1","page_num":"0","word_num":"0","height":"0.017727244984020007","block_num":"0","level":"0"},{"text":"# support","top":"0.48083623672755915","width":"0.027616277654120266","line_num":"0","word_num":"0","left":"0.033430233969918705","block_num":"0","conf":"0.5","page_num":"0","height":"0.013937282410154683","par_num":"0","level":"0"},{"block_num":"0","text":"# thank-yous","level":"0","width":"0.03488371980951188","word_num":"0","height":"0.017568866601971322","page_num":"0","conf":"1","line_num":"0","left":"0.0334302336998952","par_num":"0","top":"0.5015948961656965"},{"par_num":"0","width":"0.05523255530824053","left":"0.033430235379805606","word_num":"0","conf":"0.5","top":"0.5223285484012261","block_num":"0","level":"0","page_num":"0","text":"# the_people_of jimi...","line_num":"0","height":"0.017741137904603632"},{"height":"0.017763365969133194","text":"• Direct messages","left":"0.029069768385209225","level":"0","page_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.5540069688436597","width":"0.04505813882706014","word_num":"0","line_num":"0","block_num":"0"},{"text":". Nikolay Yankov","top":"0.5762572250159491","width":"0.043851745889541945","word_num":"0","level":"0","line_num":"0","conf":"0.5","left":"0.03327984846448679","height":"0.018078297519227515","page_num":"0","par_num":"0","block_num":"0"},{"par_num":"0","text":"P. Galya Dimitrova M","line_num":"0","page_num":"0","block_num":"0","width":"0.05232557844608388","word_num":"0","conf":"0.30000001192092896","level":"0","left":"0.033430233466317634","height":"0.021030958379474662","top":"0.5956937797519628"},{"level":"0","left":"0.03343023353108929","text":"A. Aneliya Angelova","height":"0.017749473048549347","top":"0.6202090594836914","width":"0.047965115689216783","word_num":"0","line_num":"0","conf":"0.5","par_num":"0","page_num":"0","block_num":"0"},{"word_num":"0","left":"0.03343023272588386","height":"0.006968640444571572","par_num":"0","block_num":"0","level":"0","text":"wYasll Vaciler","line_num":"0","top":"0.6480836240285853","page_num":"0","conf":"0.30000001192092896","width":"0.034883717273144016"},{"block_num":"0","top":"0.6655052266903987","par_num":"0","conf":"0.5","line_num":"0","width":"0.05087209255137342","left":"0.0334302335571803","text":"Aneliya Angelova,..","word_num":"0","level":"0","height":"0.017421602252187585","page_num":"0"},{"width":"0.04215116196490349","word_num":"0","line_num":"0","text":"C. Nikolay Ivanov","conf":"0.5","page_num":"0","block_num":"0","left":"0.0334302320269567","height":"0.0177355801279655","level":"0","top":"0.6864111500801692","par_num":"0"},{"left":"0.033430233608541776","text":"R. Nikolay Nikolov","par_num":"0","top":"0.710526315793022","height":"0.01769668025453308","line_num":"0","page_num":"0","word_num":"0","conf":"0.5","block_num":"0","level":"0","width":"0.045058138827060126"},{"word_num":"0","level":"0","text":"fl. Stefka Stoyanova","left":"0.0334302335307816","par_num":"0","block_num":"0","top":"0.7317073172101431","conf":"0.30000001192092896","page_num":"0","height":"0.017421602252187585","line_num":"0","width":"0.04796511568921677"},{"conf":"1","par_num":"0","page_num":"0","width":"0.04505813882706013","height":"0.017721687207381653","text":"R. Adelina Petrova","top":"0.752613240720201","block_num":"0","word_num":"0","left":"0.03343023190749662","line_num":"0","level":"0"},{"level":"0","conf":"0.5","left":"0.03343023367505823","height":"0.01771057317511704","text":"R. Stoyan Tomov","line_num":"0","page_num":"0","block_num":"0","top":"0.7767145135705419","width":"0.04069767353382516","par_num":"0","word_num":"0"},{"height":"0.010452960286604362","text":"( Petko Kashinski","conf":"1","level":"0","block_num":"0","top":"0.8013937287417153","line_num":"0","left":"0.0334302366242539","page_num":"0","par_num":"0","width":"0.043604647859613946","word_num":"0"},{"word_num":"0","par_num":"0","block_num":"0","text":"88. Mario Georgiev","top":"0.8221690590544602","page_num":"0","conf":"0.5","height":"0.017552194793068465","level":"0","width":"0.045058138827060126","line_num":"0","left":"0.033430233608541776"},{"par_num":"0","text":"Ss: Todor Stamatov.","width":"0.043604647859613946","level":"0","word_num":"0","height":"0.010566881779088155","line_num":"0","top":"0.8466898963487846","page_num":"0","left":"0.03343023662617514","block_num":"0","conf":"0.5"},{"height":"0.013937282410154683","left":"0.033430233608541776","level":"0","text":"Pa Gabriela Dureva","width":"0.045058138827060126","par_num":"0","word_num":"0","line_num":"0","top":"0.8675958186090923","block_num":"0","conf":"0.5","page_num":"0"},{"page_num":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","text":"#::Annd","par_num":"0","width":"0.020348835498728648","left":"0.027616278907612524","top":"0.8989547046999035","word_num":"0","level":"0","height":"0.010452960286604362"},{"top":"0.9198606275759968","word_num":"0","left":"0.03343023298627709","par_num":"0","page_num":"0","height":"0.017421602252187474","text":"S Jira Cloud","conf":"0.5","width":"0.03197674294735524","block_num":"0","level":"0","line_num":"0"},{"height":"0.017766144857452204","text":"® Toast","top":"0.9407665505780702","width":"0.023255812360885295","par_num":"0","line_num":"0","level":"0","conf":"0.30000001192092896","left":"0.03343023412519857","word_num":"0","page_num":"0","block_num":"0"},{"width":"0.01598837020549368","text":"Miston","height":"0.006968640444571461","top":"0.006968641450188162","level":"0","line_num":"0","left":"0.09302325755713681","page_num":"0","conf":"0.30000001192092896","block_num":"0","word_num":"0","par_num":"0"},{"block_num":"0","level":"0","par_num":"0","page_num":"0","line_num":"0","conf":"1","left":"0.11482558143328095","height":"0.017421602252187585","text":"Window","top":"-0.00000000002272559918026218","width":"0.01744185990475594","word_num":"0"},{"par_num":"0","word_num":"0","conf":"1","top":"-0.00000000002272559918026218","left":"0.13662790727799573","level":"0","block_num":"0","height":"0.017421602252187585","text":"Help","width":"0.011627906180442654","page_num":"0","line_num":"0"},{"conf":"1","width":"0.07267441648118039","top":"0.027874564683673886","height":"0.017579980634236048","line_num":"0","block_num":"0","left":"0.14098837474722473","par_num":"0","text":"Q Describe what you are looking for","page_num":"0","level":"0","word_num":"0"},{"conf":"0.5","height":"0.021014286570571916","left":"0.113372094092083","par_num":"0","width":"0.05377906941353007","level":"0","page_num":"0","block_num":"0","top":"0.06271777048382365","line_num":"0","text":"Nikolay Yankov","word_num":"0"},{"left":"0.10465116432315079","conf":"1","text":"• Messages","width":"0.024709300791963637","block_num":"0","height":"0.01059744650857486","par_num":"0","word_num":"0","top":"0.10104529652728955","page_num":"0","level":"0","line_num":"0"},{"line_num":"0","width":"0.02906976354883073","top":"0.1044657097288676","block_num":"0","par_num":"0","page_num":"0","conf":"0.30000001192092896","text":"Add canva","word_num":"0","left":"0.1351744195663418","height":"0.0071770334928229484","level":"0"},{"block_num":"0","height":"0.0071770334928229484","page_num":"0","word_num":"0","conf":"0.30000001192092896","line_num":"0","level":"0","par_num":"0","top":"0.1044657097288676","width":"0.017441858636572022","text":"ur Files","left":"0.17005813961545385"},{"height":"0.007235383302971465","line_num":"0","conf":"0.5","text":"•ноппри други не знам точно как става и от кьде го взима","width":"0.13372091536826275","page_num":"0","block_num":"0","level":"0","left":"0.11482558320318606","top":"0.1219512197142345","word_num":"0","par_num":"0"},{"block_num":"0","top":"0.1427432218721273","height":"0.010566881779088155","left":"0.11773256307080245","conf":"1","line_num":"0","width":"0.06540697178942091","page_num":"0","word_num":"0","text":"та Галя ми писа да го видим","level":"0","par_num":"0"},{"left":"0.11627907214679953","text":"доколкото виждам, тази трябва да е окей иконата","block_num":"0","conf":"1","line_num":"0","top":"0.16347687435296954","width":"0.11918604627568671","word_num":"0","par_num":"0","height":"0.017707794286797807","page_num":"0","level":"0"},{"block_num":"0","word_num":"0","line_num":"0","width":"0.07848837020549368","conf":"0.30000001192092896","top":"0.18815331006593472","par_num":"0","height":"0.006968641205077342","left":"0.11773255915597408","text":"atminny/app/pubttc/tmunny_c.ong","page_num":"0","level":"0"},{"left":"0.11773255693508003","line_num":"0","top":"0.20557491278139528","block_num":"0","conf":"1","height":"0.013937282410154683","word_num":"0","text":"Lukas Kovalik 2:41 PM","page_num":"0","par_num":"0","level":"0","width":"0.04941860665666295"},{"block_num":"0","left":"0.11773255831754799","par_num":"0","conf":"0.30000001192092896","line_num":"0","text":"aletetl","width":"0.01889534833583427","top":"0.22996515675850016","word_num":"0","level":"0","page_num":"0","height":"0.003484320602538671"},{"word_num":"0","left":"0.1162790706245697","par_num":"0","top":"0.24720893169881464","conf":"1","page_num":"0","text":"ще го погледна","level":"0","width":"0.03924418510274684","block_num":"0","line_num":"0","height":"0.017599429810446376"},{"par_num":"0","block_num":"0","conf":"0.5","height":"0.0071770334928229484","word_num":"0","level":"0","width":"0.052325578446083876","line_num":"0","left":"0.11773256087393302","text":"Nikolav Yankov 2:41 PM","page_num":"0","top":"0.27511961722488043"},{"top":"0.32055749118026977","par_num":"0","text":"Nikolay Yankov 7:44 PM","conf":"1","height":"0.013937282410154683","line_num":"0","page_num":"0","level":"0","left":"0.11773255928757967","width":"0.053779069413530056","block_num":"0","word_num":"0"},{"level":"0","text":"Лукас. за понелелник виж коментаnа от Claude","line_num":"0","par_num":"0","left":"0.11773255504382633","height":"0.0071770334928230595","page_num":"0","block_num":"0","conf":"0.5","top":"0.34130781499202545","width":"0.11046512076195249","word_num":"0"},{"text":"https://github.com/jiminny/app/pull/11998","left":"0.11773256032822503","level":"0","page_num":"0","width":"0.09593023137843355","top":"0.35540069695752985","word_num":"0","height":"0.017421602252187585","conf":"1","line_num":"0","block_num":"0","par_num":"0"},{"left":"0.11773255943718407","block_num":"0","conf":"1","line_num":"0","page_num":"0","height":"0.014354066985646008","level":"0","par_num":"0","text":"Lukas Kovalik 10:20 AM","top":"0.4178628389154705","width":"0.05377906941353007","word_num":"0"},{"line_num":"0","top":"0.4425087111743482","height":"0.007252054351368553","level":"0","left":"0.11773255367596376","block_num":"0","conf":"1","width":"0.13808138827060135","page_num":"0","par_num":"0","text":"направих една малка промяна в краина сметка, комитнах го","word_num":"0"},{"conf":"1","level":"0","par_num":"0","width":"0.0566860462756867","page_num":"0","line_num":"0","left":"0.11773255937818321","height":"0.013937282410154794","text":"Nikolay Yankov 10:20 AM","block_num":"0","top":"0.45993031338261137","word_num":"0"},{"text":"Lukas Kovalik 10:20 AM","word_num":"0","block_num":"0","par_num":"0","height":"0.014354066985645897","line_num":"0","width":"0.05232557844608386","page_num":"0","level":"0","left":"0.117732560783593","top":"0.5015948963317385","conf":"1"},{"text":"toвa зa favicon има ли си тикет","word_num":"0","page_num":"0","left":"0.11773256023955428","block_num":"0","line_num":"0","level":"0","height":"0.00728817609698762","conf":"0.30000001192092896","width":"0.07267441648118039","top":"0.5223285486359023","par_num":"0"},{"par_num":"0","top":"0.5470383278142917","block_num":"0","left":"0.11773256588021923","page_num":"0","width":"0.05523255023550479","height":"0.007188147525087785","line_num":"0","level":"0","text":"Nikolav Yankov 10:21 AM","word_num":"0","conf":"0.30000001192092896"},{"left":"0.11627906891407741","page_num":"0","height":"0.0073020690175715774","conf":"0.5","width":"0.03197674548372309","line_num":"0","word_num":"0","level":"0","block_num":"0","par_num":"0","text":"само ми писа","top":"0.588516746345869"},{"width":"0.05232557844608389","top":"0.613237639553429","level":"0","text":"ако искаш си направи","conf":"1","height":"0.0071770334928229484","block_num":"0","left":"0.11627907367322542","page_num":"0","word_num":"0","line_num":"0","par_num":"0"},{"par_num":"0","level":"0","text":"лаже по-лооре ла има","height":"0.006968641205077342","line_num":"0","block_num":"0","page_num":"0","conf":"0.5","top":"0.6376306619661798","left":"0.11627906991128846","width":"0.05377906941353007","word_num":"0"},{"block_num":"0","line_num":"0","height":"0.010480746888277825","conf":"0.5","page_num":"0","left":"0.2776162829680394","level":"0","width":"0.039244182566379016","word_num":"0","par_num":"0","text":"Friday. April 24th~","top":"0.1323763954031456"},{"line_num":"0","width":"0.01744185990475594","conf":"0.30000001192092896","level":"0","left":"0.2892441862540174","page_num":"0","block_num":"0","par_num":"0","word_num":"0","height":"0.006968641205077342","top":"0.39372822292243226","text":"Todavv"},{"block_num":"0","left":"0.11627907259365675","level":"0","top":"0.6547049445425557","text":"Lukas Kovalik 10.21AM","word_num":"0","page_num":"0","width":"0.05523255530824053","conf":"1","par_num":"0","height":"0.017768922224759676","line_num":"0"},{"line_num":"0","block_num":"0","height":"0.0071770334928229484","page_num":"0","conf":"0.5","text":"хубаво да направим. доста време ми отнеме и маи тряова с вес така иначе да се види","top":"0.6794258373205742","word_num":"0","left":"0.11773255752034405","par_num":"0","width":"0.19912790744862657","level":"0"},{"par_num":"0","text":"от S3 изглежда идва","block_num":"0","top":"0.7001594896331965","conf":"0.5","line_num":"0","level":"0","page_num":"0","width":"0.04941860158392722","word_num":"0","left":"0.11627907366496457","height":"0.01064190339813964"},{"page_num":"0","text":"Nikolay Yankov 10:22 AM","top":"0.7208931422620036","par_num":"0","width":"0.0566860462756867","word_num":"0","height":"0.017782815145343522","left":"0.11773255937818321","block_num":"0","conf":"1","line_num":"0","level":"0"},{"left":"0.11773255932605839","conf":"0.30000001192092896","height":"0.0071770334928229484","par_num":"0","text":"Nikolav Vankov 12.22 pM","word_num":"0","page_num":"0","top":"0.766347687400319","block_num":"0","line_num":"0","width":"0.053779069413530084","level":"0"},{"line_num":"0","top":"0.7838915470494418","width":"0.09593022123296209","word_num":"0","left":"0.11773256944966344","height":"0.0071770334928229484","level":"0","text":"Пуснах пак перію а вим какро в написало","page_num":"0","par_num":"0","block_num":"0","conf":"0.30000001192092896"},{"word_num":"0","width":"0.20348837020549365","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","level":"0","height":"0.014354066985645897","page_num":"0","left":"0.1162790729979442","line_num":"0","conf":"1","block_num":"0","top":"0.8046251993620415","par_num":"0"},{"par_num":"0","text":"трябва ли да го вкарваме в кеш","width":"0.07558139334333704","page_num":"0","top":"0.8221690592693266","line_num":"0","conf":"0.5","left":"0.11627907135153791","word_num":"0","level":"0","block_num":"0","height":"0.017552194793068465"},{"par_num":"0","word_num":"0","height":"0.017421602206736386","level":"0","left":"0.47674418604651164","page_num":"0","line_num":"0","conf":"0.30000001192092896","width":"0.008720929941860467","block_num":"0","text":"","top":"0.02787456492450635"},{"top":"0.8500797448165869","page_num":"0","level":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","height":"0.0071770334928230595","text":"Lukas Kovalik 4.54 pN","par_num":"0","width":"0.04796511568921677","word_num":"0","left":"0.11773255940555027"},{"par_num":"0","text":"Ники погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го","top":"0.8641114988158342","left":"0.11627908043504036","line_num":"0","width":"0.37063951695219","word_num":"0","page_num":"0","height":"0.017421602252187585","block_num":"0","conf":"1","level":"0"},{"conf":"1","height":"0.010516868633896892","left":"0.1162790757306877","level":"0","top":"0.8850174217942274","width":"0.1279069717894209","word_num":"0","block_num":"0","page_num":"0","par_num":"0","text":"установим. Това може да е по-бавно, но си e edge case.","line_num":"0"},{"block_num":"0","page_num":"0","text":"зашо въобше е в UserTransformer. той се зарежла","height":"0.010466853967693979","width":"0.11482557337334814","line_num":"0","left":"0.10610464956925786","par_num":"0","top":"0.9233449483486083","word_num":"0","level":"0","conf":"0.5"},{"text":"+ Aa","left":"0.10755814010049372","word_num":"0","width":"0.018895348335834256","block_num":"0","conf":"0.30000001192092896","top":"0.9512195119378624","line_num":"0","page_num":"0","par_num":"0","level":"0","height":"0.017680009966641874"},{"line_num":"0","word_num":"0","left":"0.8343023231926572","par_num":"0","text":"Q4@ 6 100%4 8 Mon27 Apr 18:57:34","top":"0.00000000033500369145400555","level":"0","height":"0.020905922094220375","width":"0.16133721331332584","block_num":"0","conf":"0.30000001192092896","page_num":"0"},{"line_num":"0","top":"0.027874564982578343","left":"0.890988372238372","text":"*","word_num":"0","page_num":"0","par_num":"0","block_num":"0","width":"0.007267441678779241","level":"0","conf":"0.5","height":"0.02090592282229975"},{"line_num":"0","width":"0.08284883296236079","height":"0.017421602252187585","left":"0.5029069814629333","page_num":"0","level":"0","block_num":"0","conf":"1","par_num":"0","text":"Al reports promotion pages #11998","word_num":"0","top":"0.06271777012826163"},{"width":"0.21947674041098741","word_num":"0","left":"0.5029069820387471","top":"0.08362369354010668","height":"0.010475189872145352","line_num":"0","conf":"1","par_num":"0","level":"0","page_num":"0","block_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages"},{"word_num":"0","page_num":"0","left":"0.515988370209941","top":"0.10765550223535247","width":"0.08720929571922797","level":"0","conf":"0.30000001192092896","height":"0.007327075970420038","block_num":"0","par_num":"0","line_num":"0","text":"ranoramakeportsrrono ledtures grie nou"},{"top":"0.10446570957187562","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","level":"0","block_num":"0","left":"0.6206395320015682","height":"0.010516868633896892","word_num":"0","line_num":"0","width":"0.12936045261139562","page_num":"0","conf":"0.30000001192092896","par_num":"0"},{"block_num":"0","width":"0.023255814897253146","level":"0","line_num":"0","page_num":"0","word_num":"0","par_num":"0","height":"0.003484320602538671","conf":"0.30000001192092896","text":"leseeis","top":"0.12543554003627422","left":"0.5145348831763734"},{"left":"0.6206395381627619","height":"0.017571645490290444","line_num":"0","par_num":"0","width":"0.04069767099745736","page_num":"0","text":"added at line 170","block_num":"0","top":"0.11483253561555695","level":"0","word_num":"0","conf":"1"},{"top":"0.14274322169059017","width":"0.1308139435788419","line_num":"0","word_num":"0","par_num":"0","page_num":"0","left":"0.6206395418231858","text":"Fixed - both now say \"We will get in touch with you as soon","height":"0.01754385964912275","level":"0","conf":"1","block_num":"0"},{"level":"0","page_num":"0","text":"Wording inconsistency (modal vs inline)","top":"0.15311004759362778","block_num":"0","word_num":"0","line_num":"0","par_num":"0","left":"0.5145348893682301","conf":"1","width":"0.08720929571922786","height":"0.017621659395987477"},{"level":"0","block_num":"0","par_num":"0","line_num":"0","text":"as possible.","conf":"0.30000001192092896","word_num":"0","left":"0.6206395362891324","top":"0.16724738673389183","height":"0.006968641205077342","width":"0.027616277654120225","page_num":"0"},{"line_num":"0","top":"0.1951219515547178","height":"0.006968640444571461","block_num":"0","conf":"0.30000001192092896","level":"0","text":"nrer compured calling can a second","width":"0.08866277654120269","left":"0.514534888937681","word_num":"0","page_num":"0","par_num":"0"},{"text":"Fixed - canManageAiReports extracted as a shared","width":"0.11482557337334798","word_num":"0","left":"0.620639539097222","level":"0","conf":"1","par_num":"0","top":"0.18815330979979739","block_num":"0","page_num":"0","height":"0.0175883172991933","line_num":"0"},{"text":"computed","left":"0.6220930244397125","height":"0.017421602252187474","level":"0","line_num":"0","block_num":"0","top":"0.20557491298540453","width":"0.023255812360885253","page_num":"0","par_num":"0","conf":"1","word_num":"0"},{"block_num":"0","height":"0.017421602252187585","par_num":"0","word_num":"0","top":"0.20557491302895847","left":"0.5145348842644298","level":"0","line_num":"0","conf":"1","page_num":"0","text":"time","width":"0.011627906180442626"},{"width":"0.08284883296236079","page_num":"0","text":"trackInterest endpoint missing rate","word_num":"0","level":"0","height":"0.017746694160230114","conf":"1","left":"0.5159883762736059","par_num":"0","block_num":"0","line_num":"0","top":"0.23344947777831704"},{"height":"0.006968640444571461","block_num":"0","par_num":"0","page_num":"0","text":"limitina","left":"0.5145348854641136","conf":"1","line_num":"0","top":"0.25435540103206966","level":"0","width":"0.015988370205493596","word_num":"0"},{"left":"0.6206395358560387","block_num":"0","line_num":"0","text":"Still present (see below)","conf":"1","top":"0.24003189772282119","height":"0.017807823619203744","level":"0","width":"0.05523255530824056","page_num":"0","par_num":"0","word_num":"0"},{"par_num":"0","top":"0.31339712947633447","page_num":"0","text":"Remaining issues","width":"0.0479651156892168","level":"0","left":"0.5000000013287278","conf":"1","word_num":"0","height":"0.017613322731030334","line_num":"0","block_num":"0"},{"par_num":"0","word_num":"0","left":"0.500000004738088","level":"0","line_num":"0","conf":"0.5","page_num":"0","height":"0.017596652443139016","text":". Extra DB query still fires on every page load","top":"0.34843205595226867","block_num":"0","width":"0.10319766592472168"},{"height":"0.017632773428252313","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","top":"0.3763066205923885","width":"0.24709301806510764","conf":"1","word_num":"0","level":"0","page_num":"0","line_num":"0","left":"0.4999999984771364","block_num":"0","par_num":"0"},{"left":"0.502907000810188","par_num":"0","top":"0.4178628388386477","word_num":"0","conf":"1","level":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).","width":"0.2194767201200445","block_num":"0","page_num":"0","line_num":"0","height":"0.010708589112739642"},{"block_num":"0","height":"0.017741137904603743","left":"0.5000000072941873","page_num":"0","line_num":"0","par_num":"0","conf":"0.5","level":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","word_num":"0","top":"0.45993031375224214","width":"0.24127905419532292"},{"width":"0.25000000000000006","height":"0.013937282410154683","page_num":"0","word_num":"0","left":"0.49999999992732563","level":"0","top":"0.4773519162821602","conf":"1","line_num":"0","block_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","par_num":"0"},{"top":"0.4912280702286602","width":"0.24854649888708236","word_num":"0","par_num":"0","height":"0.020967051553193783","page_num":"0","conf":"1","level":"0","block_num":"0","left":"0.5014534918272605","line_num":"0","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two"},{"level":"0","line_num":"0","conf":"1","left":"0.5000000058259358","height":"0.010686361048210191","page_num":"0","text":"ISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as the","width":"0.22819764563377865","top":"0.5119617223575448","block_num":"0","par_num":"0","word_num":"0"},{"conf":"0.5","page_num":"0","height":"0.0073381900026847635","par_num":"0","text":"uaaested mitiaations (in order of effort):","width":"0.08720930586469933","block_num":"0","level":"0","left":"0.5014534853695082","top":"0.5606060607314207","word_num":"0","line_num":"0"},{"page_num":"0","height":"0.01754385964912286","par_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","conf":"0.5","top":"0.5853269537480064","level":"0","line_num":"0","word_num":"0","left":"0.5014534869745092","width":"0.17587209255137348","block_num":"0"},{"top":"0.6027874571526035","word_num":"0","conf":"0.5","page_num":"0","height":"0.01762721565161396","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","width":"0.23982555308240527","left":"0.5058139713227934","par_num":"0","block_num":"0","level":"0","line_num":"0"},{"left":"0.5072674434499944","page_num":"0","conf":"0.5","width":"0.12354649888708236","line_num":"0","par_num":"0","top":"0.6267942582824599","word_num":"0","text":"transtorm() Is called multiple times in a single response","level":"0","height":"0.007352082923268499","block_num":"0"},{"text":"• Denormalised boolean: add a has_generated_ai_reports column to users, set/cleared by the report generation/","top":"0.6376306621143244","width":"0.2558139435788418","word_num":"0","left":"0.5000000099048465","level":"0","conf":"1","height":"0.017421602252187474","block_num":"0","line_num":"0","page_num":"0","par_num":"0"},{"top":"0.6618819776714514","text":"deletion pipeline — eliminates the querv entirelv.","left":"0.5058139616289973","level":"0","block_num":"0","conf":"1","height":"0.0071770334928229484","line_num":"0","par_num":"0","page_num":"0","width":"0.10465115689216775","word_num":"0"},{"par_num":"0","page_num":"0","width":"0.021802323929806966","word_num":"0","line_num":"0","height":"0.013937282410154683","text":"Fix this →","top":"0.6864111496195452","conf":"0.5","block_num":"0","left":"0.5000000014415185","level":"0"},{"block_num":"0","par_num":"0","height":"0.017807823619203744","left":"0.4985465185881723","top":"0.742160278657975","width":"0.15552324944354118","word_num":"0","line_num":"0","level":"0","page_num":"0","conf":"1","text":"2. trackInterest endpoint has no rate limit or idempotency guard"},{"page_num":"0","conf":"1","top":"0.7722896015036981","left":"0.49996836441857584","width":"0.22824831211820562","level":"0","par_num":"0","word_num":"0","height":"0.015257937295965363","block_num":"0","line_num":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/"},{"left":"0.4999999995712994","text":"pi.php:282","top":"0.7944250870834626","height":"0.006968641205077342","par_num":"0","conf":"0.5","block_num":"0","line_num":"0","word_num":"0","page_num":"0","width":"0.02470930332833149","level":"0"},{"text":"public function trackInterest(Request srequest): JsonResponse","top":"0.8325358853529533","block_num":"0","level":"0","width":"0.14534883296236079","word_num":"0","line_num":"0","height":"0.021122651046923346","page_num":"0","par_num":"0","conf":"1","left":"0.5029069762911409"},{"width":"0.23255810839064572","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","left":"0.5116279148651706","line_num":"0","word_num":"0","top":"0.8604465709728868","conf":"0.5","level":"0","block_num":"0","height":"0.0071770334928229484","page_num":"0","par_num":"0"},{"level":"0","width":"0.25290696164394944","left":"0.500000019045948","page_num":"0","block_num":"0","line_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","par_num":"0","height":"0.010647460414272003","word_num":"0","conf":"1","top":"0.9266347687970263"},{"par_num":"0","level":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","height":"0.017766144857452204","word_num":"0","conf":"1","block_num":"0","line_num":"0","top":"0.9407665505780702","width":"0.2441860564211581","left":"0.49999999512449644","page_num":"0"},{"left":"0.5000000013824143","width":"0.05668604627568663","level":"0","block_num":"0","conf":"1","par_num":"0","text":"racking noise in analytics.","top":"0.958188153403523","word_num":"0","height":"0.017421602252187474","page_num":"0","line_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4780
|
NULL
|
NULL
|
|
89218
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% CMon 27 Apr 18:57:35181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"height":"0.013953487608167836", [{"height":"0.013953487608167836","left":"0.033430232229750306","top":"0.006976744645528443","text":"iTerm2","page_num":"0","par_num":"0","block_num":"0","conf":"1","level":"0","line_num":"0","width":"0.03633720874786377","word_num":"0"},{"par_num":"0","height":"0.016666666666666607","conf":"0.5","page_num":"0","left":"0.08284883942658913","line_num":"0","level":"0","block_num":"0","text":"Shell Edit View","top":"0.004444444444444473","word_num":"0","width":"0.08720929887559678"},{"width":"0.034883719020419646","par_num":"0","block_num":"0","height":"0.013953487608167836","text":"Session","top":"0.0069767444517300214","left":"0.18168604790258086","line_num":"0","word_num":"0","level":"0","page_num":"0","conf":"1"},{"height":"0.014077084859212219","page_num":"0","conf":"0.5","word_num":"0","block_num":"0","line_num":"0","level":"0","width":"0.031997723049587645","par_num":"0","left":"0.2296406737588108","top":"0.006914945827753649","text":"Scripts"},{"width":"0.033470148510403086","conf":"1","height":"0.014200344085693373","page_num":"0","par_num":"0","top":"0.006853316216056116","text":"Profiles","word_num":"0","level":"0","left":"0.27323585639556563","block_num":"0","line_num":"0"},{"text":"Window","width":"0.03633720874786378","par_num":"0","line_num":"0","block_num":"0","height":"0.013953487608167836","level":"0","word_num":"0","page_num":"0","left":"0.31831395315998284","top":"0.006976744645528443","conf":"1"},{"top":"0.006976744474985863","word_num":"0","page_num":"0","left":"0.36773255878967304","block_num":"0","height":"0.013953487608167836","par_num":"0","conf":"1","level":"0","text":"Help","line_num":"0","width":"0.02034883631600276"},{"line_num":"0","block_num":"0","conf":"1","level":"0","height":"0.014496124055650483","par_num":"0","text":"APP (-zsh)","page_num":"0","top":"0.03666666662527551","width":"0.049418603049384224","word_num":"0","left":"0.47529069803997187"},{"text":"DOCKER","word_num":"0","top":"0.06511627921917185","page_num":"0","level":"0","par_num":"0","left":"0.050872094365759145","width":"0.03488371902041965","height":"0.013953487608167947","conf":"1","block_num":"0","line_num":"0"},{"conf":"0.30000001192092896","left":"0.14680232584832487","page_num":"0","line_num":"0","height":"0.011627907223171752","par_num":"0","width":"0.01017441815800138","top":"0.06744186045818157","text":"881","block_num":"0","word_num":"0","level":"0"},{"width":"0.05087209277682833","par_num":"0","level":"0","left":"0.2107558135640147","height":"0.011627906163533597","text":"DEV (docker)","top":"0.0674418609589309","conf":"1","block_num":"0","line_num":"0","page_num":"0","word_num":"0"},{"level":"0","height":"0.011627907223171752","width":"0.014534884028964579","page_num":"0","par_num":"0","word_num":"0","conf":"0.30000001192092896","top":"0.06744186045818157","block_num":"0","left":"0.30813953472970373","line_num":"0","text":"₴82"},{"level":"0","page_num":"0","height":"0.011627906163533597","par_num":"0","block_num":"0","line_num":"0","conf":"0.5","top":"0.0674418609589309","text":"APP (-zsh)","word_num":"0","width":"0.040697672632005466","left":"0.3793604658741403"},{"width":"0.013081394301520444","line_num":"0","block_num":"0","height":"0.013953487608167947","par_num":"0","conf":"0.30000001192092896","level":"0","top":"0.06511627921917185","page_num":"0","word_num":"0","text":"83","left":"0.47238372128431727"},{"par_num":"0","line_num":"0","block_num":"0","page_num":"0","word_num":"0","level":"0","height":"0.014420836766560807","left":"0.5348576004786272","text":"screenpipe\"","width":"0.048017358779907204","conf":"0.5","top":"0.0648826047097042"},{"conf":"1","text":"front-end/src/components/AiReports/Manage/__tests_","block_num":"0","top":"0.09069767473716484","level":"0","par_num":"0","height":"0.016279069052802186","width":"0.2790697521633572","page_num":"0","line_num":"0","left":"0.008720942522972407","word_num":"0"},{"par_num":"0","left":"0.2863372117089401","level":"0","height":"0.01860465155707458","text":"_/ManageAiReports.spec.js","top":"0.0906976745315402","word_num":"0","line_num":"0","block_num":"0","width":"0.14098837110731333","page_num":"0","conf":"1"},{"par_num":"0","block_num":"0","conf":"1","line_num":"0","height":"0.016279069052802186","left":"0.00872094763883828","page_num":"0","level":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","top":"0.1093023258515059","width":"0.44622090657552077","word_num":"0"},{"height":"0.016279069052802186","level":"0","block_num":"0","page_num":"0","top":"0.13023255838057568","line_num":"0","conf":"1","par_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","width":"0.5232557932535807","word_num":"0","left":"0.008720945815069964"},{"level":"0","line_num":"0","block_num":"0","top":"0.1488372093377417","page_num":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","width":"0.6002906799316406","word_num":"0","height":"0.018604651557074692","conf":"1","left":"0.00872092909910249","par_num":"0"},{"word_num":"0","text":"front-end/src/components/AiReports/constants.js","par_num":"0","block_num":"0","width":"0.26308138105604384","left":"0.008720941327598099","height":"0.018604651557074692","level":"0","line_num":"0","page_num":"0","conf":"1","top":"0.16976744197340066"},{"height":"0.01860465155707458","level":"0","par_num":"0","width":"0.4127906799316406","top":"0.18837209251603637","word_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","left":"0.008720944627202777","line_num":"0","page_num":"0","block_num":"0","conf":"1"},{"height":"0.01860465155707458","line_num":"0","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","top":"0.20930232526797432","page_num":"0","width":"0.4069767422146267","word_num":"0","level":"0","block_num":"0","conf":"1","left":"0.008720936305477206"},{"block_num":"0","conf":"1","left":"0.00872093223776006","top":"0.2302325584096454","width":"0.35755814446343315","word_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","height":"0.016279069052802186","level":"0","line_num":"0","page_num":"0","par_num":"0"},{"text":"front-end/src/components/Settings/shared/FormElements/Field.vue","width":"0.35174418555365666","par_num":"0","left":"0.008720934875787774","line_num":"0","block_num":"0","word_num":"0","conf":"1","page_num":"0","top":"0.2488372089889045","height":"0.018604651557074692","level":"0"},{"par_num":"0","width":"0.4854651133219401","left":"0.008720937779436768","level":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","line_num":"0","page_num":"0","conf":"1","block_num":"0","height":"0.01860465155707458","word_num":"0","top":"0.26976744154704413"},{"top":"0.29069767465964547","word_num":"0","width":"0.3793604532877604","line_num":"0","block_num":"0","level":"0","page_num":"0","conf":"1","par_num":"0","left":"0.008720939940422036","height":"0.016279069052802075","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js"},{"level":"0","height":"0.01860465155707458","par_num":"0","width":"0.3851743910047743","word_num":"0","line_num":"0","page_num":"0","conf":"1","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","top":"0.3093023252679743","left":"0.008720948847176679"},{"width":"0.27180230882432727","page_num":"0","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","line_num":"0","height":"0.011627906163533597","conf":"1","level":"0","par_num":"0","top":"0.3325581400286983","left":"0.01017442358565618","word_num":"0"},{"conf":"0.5","line_num":"0","text":"__mocks__/nudges.js","top":"0.3325581400718851","left":"0.2805232549080388","width":"0.1061046494377984","height":"0.013953487608167836","level":"0","word_num":"0","block_num":"0","par_num":"0","page_num":"0"},{"height":"0.01860465155707458","conf":"1","par_num":"0","word_num":"0","line_num":"0","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","level":"0","top":"0.3488372088726255","page_num":"0","width":"0.4622092776828342","left":"0.008720944988524652"},{"line_num":"0","left":"0.008720943423469624","par_num":"0","height":"0.01860465155707458","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","width":"0.3183139377170139","word_num":"0","level":"0","block_num":"0","top":"0.3697674416633232","conf":"1"},{"line_num":"0","par_num":"0","block_num":"0","width":"0.31540696885850694","text":"front-end/src/components/shared/SavedSearchModal/__tests_","page_num":"0","top":"0.3883720938223495","conf":"1","height":"0.020930230882432732","word_num":"0","level":"0","left":"0.008720939432180469"},{"conf":"1","level":"0","block_num":"0","width":"0.2790697521633572","text":"/__snapshots__/saved-search-modal-edit.output.html","top":"0.36976744175634635","line_num":"0","word_num":"0","height":"0.018604651557074692","page_num":"0","left":"0.32994186531367026","par_num":"0"},{"text":"/__snapshots__/saved-search-modal.output.html","line_num":"0","word_num":"0","conf":"1","height":"0.01860465155707458","level":"0","page_num":"0","block_num":"0","par_num":"0","left":"0.329941858342544","top":"0.3883720925160363","width":"0.25145348442925347"},{"conf":"1","level":"0","width":"0.32412789662679037","word_num":"0","height":"0.018604651557074692","left":"0.008720939459133782","line_num":"0","block_num":"0","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","par_num":"0","top":"0.4093023252679743"},{"block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","conf":"1","level":"0","line_num":"0","left":"0.008720945245547382","height":"0.016279069052802075","page_num":"0","par_num":"0","width":"0.36773253546820744","word_num":"0","top":"0.4302325583805757"},{"left":"0.008720939802207934","page_num":"0","line_num":"0","top":"0.4488372090276642","level":"0","width":"0.4854651133219401","word_num":"0","block_num":"0","par_num":"0","height":"0.01860465155707458","conf":"1","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache"},{"text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","height":"0.016279069052802075","level":"0","page_num":"0","width":"0.49709298875596786","par_num":"0","word_num":"0","conf":"1","top":"0.4697674423340641","line_num":"0","left":"0.007267450825504717","block_num":"0"},{"page_num":"0","line_num":"0","par_num":"0","top":"0.49069767467902525","word_num":"0","block_num":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","conf":"1","height":"0.016279069052802186","left":"0.008720936961676194","width":"0.245639525519477","level":"0"},{"conf":"1","par_num":"0","line_num":"0","top":"0.509302325306734","block_num":"0","left":"0.008720940809666643","level":"0","height":"0.01860465155707458","page_num":"0","width":"0.3241278966267904","word_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php"},{"width":"0.4127906799316406","level":"0","conf":"1","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","height":"0.016279069052802186","line_num":"0","par_num":"0","top":"0.5302325584096454","block_num":"0","left":"0.008720944263830709","word_num":"0","page_num":"0"},{"width":"0.3808139377170139","top":"0.548837209182703","conf":"1","height":"0.018604651557074692","page_num":"0","left":"0.007267443399245208","line_num":"0","word_num":"0","level":"0","block_num":"0","par_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php"},{"page_num":"0","line_num":"0","block_num":"0","height":"0.018604651557074692","par_num":"0","level":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","left":"0.00872094066747218","top":"0.5697674415470441","width":"0.26308138105604384","conf":"1","word_num":"0"},{"block_num":"0","word_num":"0","conf":"1","line_num":"0","left":"0.008720935081112163","level":"0","par_num":"0","height":"0.016279069052802297","width":"0.2790697521633572","top":"0.5906976748922036","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","page_num":"0"},{"height":"0.018604651557074692","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","top":"0.6093023252912301","block_num":"0","par_num":"0","width":"0.40697674221462665","left":"0.008720935288035392","word_num":"0","conf":"1","line_num":"0","page_num":"0","level":"0"},{"block_num":"0","width":"0.3735465155707466","level":"0","line_num":"0","par_num":"0","conf":"1","height":"0.018604651557074692","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","top":"0.630232558174951","word_num":"0","page_num":"0","left":"0.008720932494423177"},{"block_num":"0","level":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","left":"0.008720933727585568","height":"0.01860465155707458","conf":"1","page_num":"0","par_num":"0","width":"0.3575581444634332","line_num":"0","word_num":"0","top":"0.6488372090276643"},{"line_num":"0","height":"0.023669251335991737","width":"0.30668604109022357","word_num":"0","page_num":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","conf":"1","par_num":"0","block_num":"0","left":"0.008720930055878897","level":"0","top":"0.6674418601201179"},{"level":"0","page_num":"0","height":"0.053333333333333344","par_num":"0","line_num":"0","text":"rtarest. php","width":"0.06666666666666665","conf":"0.30000001192092896","word_num":"0","left":"0.30000000013888894","top":"0.64","block_num":"0"},{"height":"0.016279069052802186","width":"0.45784882439507385","conf":"1","left":"0.008720943324406762","page_num":"0","level":"0","block_num":"0","par_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","line_num":"0","top":"0.6906976746596454","word_num":"0"},{"top":"0.7088888885350363","word_num":"0","conf":"1","left":"0.008720919944754178","page_num":"0","level":"0","width":"0.43459303114149306","height":"0.019018088446723147","block_num":"0","par_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","line_num":"0"},{"block_num":"0","conf":"0.30000001192092896","par_num":"0","level":"0","page_num":"0","width":"0.14583333333333337","height":"0.046666666666666634","left":"0.3208333309027779","line_num":"0","word_num":"0","text":"fonitrn/esComedad.ron,.php","top":"0.6866666667777778"},{"page_num":"0","left":"0.008720931874829398","block_num":"0","level":"0","height":"0.01666666666666672","conf":"1","par_num":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","width":"0.4186046600341797","top":"0.73","line_num":"0","word_num":"0"},{"height":"0.0189405674404568","left":"0.008720944031500208","conf":"1","line_num":"0","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","word_num":"0","width":"0.5188953399658203","level":"0","top":"0.7488372099361025","block_num":"0","page_num":"0"},{"block_num":"0","page_num":"0","conf":"1","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","top":"0.769767441714528","height":"0.01912144766913515","word_num":"0","width":"0.556686019897461","level":"0","line_num":"0","left":"0.00872094292957427"},{"line_num":"0","conf":"1","level":"0","height":"0.018604651557074692","block_num":"0","left":"0.008720950932465657","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","width":"0.5232557932535807","par_num":"0","word_num":"0","top":"0.7883720927330905","page_num":"0"},{"text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","conf":"1","height":"0.019018088446723147","left":"0.008720932168461499","level":"0","top":"0.8088888884187573","line_num":"0","page_num":"0","par_num":"0","width":"0.5130814022488065","word_num":"0","block_num":"0"},{"top":"0.83","conf":"1","width":"0.5901162889268663","word_num":"0","block_num":"0","height":"0.018888888888888955","level":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","par_num":"0","line_num":"0","page_num":"0","left":"0.00872093066119501"},{"width":"0.5901162889268663","left":"0.00872093066119501","conf":"1","height":"0.0189405674404568","block_num":"0","level":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","top":"0.8488372098663348","word_num":"0","line_num":"0","par_num":"0","page_num":"0"},{"block_num":"0","page_num":"0","conf":"1","left":"0.00872095191817562","line_num":"0","par_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","height":"0.016279069052802186","width":"0.6017441643608942","level":"0","top":"0.8697674421015059","word_num":"0"},{"top":"0.8906976746596453","block_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","level":"0","width":"0.5188953399658204","height":"0.016279069052802186","left":"0.008720941480167237","word_num":"0","line_num":"0","conf":"1","page_num":"0","par_num":"0"},{"line_num":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","top":"0.9088888883993775","left":"0.008720965718114076","block_num":"0","height":"0.019018088446723036","par_num":"0","width":"0.5130813598632812","word_num":"0","level":"0","page_num":"0","conf":"1"},{"word_num":"0","top":"0.93","page_num":"0","block_num":"0","left":"0.008720959803854693","line_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","level":"0","height":"0.016666666666666607","par_num":"0","width":"0.4796511332194011","conf":"1"},{"word_num":"0","level":"0","block_num":"0","line_num":"0","page_num":"0","height":"0.0189405674404568","par_num":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","width":"0.4636627621120876","left":"0.008720958818144888","top":"0.9488372099361024","conf":"1"},{"block_num":"0","page_num":"0","height":"0.02144702911376961","word_num":"0","width":"0.5348837110731336","left":"0.004360485232488721","level":"0","line_num":"0","par_num":"0","conf":"1","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","top":"0.9674418601201177"},{"conf":"0.30000001192092896","level":"0","line_num":"0","par_num":"0","top":"0.06511627927731145","page_num":"0","height":"0.013953487608167836","text":"O 84","word_num":"0","left":"0.6250000001737047","block_num":"0","width":"0.024709301524692084"},{"level":"0","left":"0.7194767443728021","par_num":"0","text":"-zsh","top":"0.06744186098800065","line_num":"0","page_num":"0","word_num":"0","conf":"0.5","block_num":"0","height":"0.011627906163533597","width":"0.017441859510209823"},{"word_num":"0","text":"885","page_num":"0","line_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.011627906163533597","top":"0.0674418609589309","left":"0.7994186049777334","par_num":"0","width":"0.01453488270441694","level":"0"},{"par_num":"0","width":"0.042151159710354325","word_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.8168604676103026","level":"0","top":"0.00666666666666671","height":"0.014444444444444371","line_num":"0","block_num":"0","text":"100% C"},{"conf":"1","block_num":"0","top":"0.00666666666666671","width":"0.09738372166951492","line_num":"0","level":"0","left":"0.8909883701829538","page_num":"0","par_num":"0","height":"0.014444444444444371","word_num":"0","text":"Mon 27 Apr 18:57:35"},{"text":"181","left":"0.9723837216312426","level":"0","height":"0.013953487608167836","page_num":"0","width":"0.020348836316002705","top":"0.034883721195916095","conf":"0.30000001192092896","word_num":"0","block_num":"0","line_num":"0","par_num":"0"},{"block_num":"0","page_num":"0","height":"0.011627906163533597","par_num":"0","top":"0.06744186083296189","width":"0.11046511332194009","line_num":"0","text":"ec2-user@ip-10-30-95-134:...","left":"0.8372093056452314","level":"0","word_num":"0","conf":"1"},{"width":"0.024709301524692084","page_num":"0","top":"0.06511627933545094","block_num":"0","text":"• ₴6|","word_num":"0","conf":"0.30000001192092896","level":"0","height":"0.013953487608167836","left":"0.9534883728710178","line_num":"0","par_num":"0"},{"height":"0.016279069052802297","word_num":"0","left":"0.6511627904225332","top":"0.09069767487282365","level":"0","conf":"1","line_num":"0","block_num":"0","par_num":"0","text":"66","width":"0.014534884028964523","page_num":"0"},{"level":"0","par_num":"0","conf":"1","top":"0.09302325610427975","word_num":"0","line_num":"0","left":"0.668604651975057","text":"++++","width":"0.024709301524692084","height":"0.011627906163533486","page_num":"0","block_num":"0"},{"conf":"1","text":"23 +-","par_num":"0","page_num":"0","level":"0","line_num":"0","left":"0.6511627914915763","width":"0.03052325513627796","height":"0.01669250594245064","word_num":"0","top":"0.1088888889538393","block_num":"0"},{"width":"0.014534884028964634","height":"0.016279069052802186","conf":"1","text":"20","word_num":"0","left":"0.6511627906647812","page_num":"0","par_num":"0","block_num":"0","level":"0","top":"0.1302325583999555","line_num":"0"},{"width":"0.013081394301520444","left":"0.6686046519044723","line_num":"0","height":"0.011627906163533486","block_num":"0","page_num":"0","par_num":"0","top":"0.13255813982521003","word_num":"0","conf":"0.5","level":"0","text":"+-"},{"page_num":"0","conf":"1","height":"0.013953487906976814","block_num":"0","text":"4","level":"0","top":"0.15116279116279063","par_num":"0","width":"0.007267441618217019","left":"0.658430232751938","word_num":"0","line_num":"0"},{"page_num":"0","line_num":"0","level":"0","par_num":"0","width":"0.01162790722317164","block_num":"0","word_num":"0","conf":"0.30000001192092896","left":"0.6686046510880266","text":"+-","height":"0.011627906163533486","top":"0.15348837269342708"},{"conf":"0.30000001192092896","block_num":"0","page_num":"0","width":"0.01889534791310632","top":"0.16976744216490824","line_num":"0","level":"0","par_num":"0","height":"0.013953487608167947","left":"0.6584302333351134","word_num":"0","text":"7 +"},{"conf":"0.5","line_num":"0","block_num":"0","text":"1 +","top":"0.19069767472304788","width":"0.01889534791310632","par_num":"0","word_num":"0","height":"0.013953487608167836","level":"0","page_num":"0","left":"0.6584302333351134"},{"par_num":"0","top":"0.20930232582243613","height":"0.016279069052802186","width":"0.015988371107313437","conf":"1","left":"0.6511627914570022","level":"0","line_num":"0","word_num":"0","block_num":"0","page_num":"0","text":"24"},{"level":"0","line_num":"0","text":"+-","par_num":"0","top":"0.21395348820707683","width":"0.010174418158001464","block_num":"0","height":"0.009302325778537401","word_num":"0","left":"0.6700581396855341","conf":"0.5","page_num":"0"},{"conf":"1","text":"10","width":"0.01453488270441694","level":"0","height":"0.013953487608167947","page_num":"0","par_num":"0","top":"0.23023255863777647","block_num":"0","line_num":"0","word_num":"0","left":"0.6511627910242451"},{"height":"0.01671834627787272","width":"0.01889534791310632","level":"0","line_num":"0","par_num":"0","text":"5 +","page_num":"0","conf":"0.5","top":"0.2488372092900042","word_num":"0","left":"0.6584302327537183","block_num":"0"},{"level":"0","par_num":"0","left":"0.646802325807255","line_num":"0","conf":"1","page_num":"0","text":"170","top":"0.26976744235870675","width":"0.01889534791310621","height":"0.013953487608167836","word_num":"0","block_num":"0"},{"text":"18","par_num":"0","top":"0.2906976748780866","word_num":"0","block_num":"0","height":"0.013953487608167836","left":"0.651162790963683","level":"0","line_num":"0","width":"0.01453488270441694","page_num":"0","conf":"1"},{"height":"0.016279069052802297","page_num":"0","par_num":"0","block_num":"0","text":"16","width":"0.01453488270441694","left":"0.651162791205931","level":"0","line_num":"0","top":"0.30930232621003295","word_num":"0","conf":"1"},{"width":"0.013081394301520444","word_num":"0","par_num":"0","page_num":"0","conf":"0.30000001192092896","height":"0.011627906163533486","block_num":"0","left":"0.6686046517106738","level":"0","text":"+-","top":"0.31395348897249686","line_num":"0"},{"level":"0","conf":"1","word_num":"0","block_num":"0","left":"0.6482558143219299","height":"0.01860465155707458","text":"62","top":"0.3488372088726255","page_num":"0","width":"0.017441859510209934","par_num":"0","line_num":"0"},{"word_num":"0","height":"0.013953487608167836","conf":"1","line_num":"0","par_num":"0","level":"0","page_num":"0","width":"0.01889534791310621","block_num":"0","text":"942","left":"0.646802325807255","top":"0.36976744235870673"},{"word_num":"0","text":"942","block_num":"0","height":"0.013953487608167947","width":"0.01889534791310621","top":"0.39069767491684626","page_num":"0","conf":"1","line_num":"0","left":"0.646802325807255","level":"0","par_num":"0"},{"par_num":"0","level":"0","text":"21","top":"0.4093023256673973","width":"0.01453488270441694","block_num":"0","conf":"1","left":"0.6511627910605823","height":"0.016279069052802186","line_num":"0","page_num":"0","word_num":"0"},{"level":"0","width":"0.013081395626068137","block_num":"0","word_num":"0","top":"0.4302325580788877","left":"0.6526162789947422","conf":"1","height":"0.013953488667805991","line_num":"0","page_num":"0","text":"33","par_num":"0"},{"left":"0.6700581403030346","word_num":"0","par_num":"0","height":"0.011627906163533486","line_num":"0","text":"+++","block_num":"0","level":"0","top":"0.3534883723833495","page_num":"0","conf":"1","width":"0.017441859510209823"},{"par_num":"0","top":"0.14651162688694752","width":"0.1395348866780598","height":"0.08372093200683584","conf":"0.30000001192092896","line_num":"0","page_num":"0","left":"0.8517441850662857","block_num":"0","word_num":"0","level":"0","text":"APP"},{"height":"0.0813953484429254","block_num":"0","left":"0.6686046489364764","line_num":"0","level":"0","top":"0.4511627900808629","conf":"0.30000001192092896","width":"0.011627911196814611","page_num":"0","par_num":"0","text":"++++","word_num":"0"},{"par_num":"0","text":"++","width":"0.011627907223171752","conf":"1","top":"0.5325581392707482","word_num":"0","block_num":"0","height":"0.013953488667805991","line_num":"0","page_num":"0","level":"0","left":"0.6700581393147707"},{"top":"0.6116279067372514","par_num":"0","line_num":"0","level":"0","height":"0.01162790722317164","left":"0.6700581393235938","text":"++.","word_num":"0","conf":"0.30000001192092896","width":"0.013081395626068137","page_num":"0","block_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3842
|
NULL
|
NULL
|
|
89219
|
SlackVIewHomeActivityLaterMoreJiminny…..@ jiminny- SlackVIewHomeActivityLaterMoreJiminny…..@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga nlattorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages. Nikolay YankovP. Galya Dimitrova MA. Aneliya AngelovawYasll Vaciler3 Aneliya Angelova,..C. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela Dureva#::AnndS Jira Cloud® ToastMistonWindowHelpQ Describe what you are looking forNikolay Yankov• MessagesAdd canvaur Files•ноппри други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/pubttc/tmunny_c.ongLukas Kovalik 2:41 PMaletetlще го погледнаNikolav Yankov 2:41 PMNikolay Yankov 7:44 PMЛукас. за понелелник виж коментаnа от Claudehttps://github.com/jiminny/app/pull/11998Lukas Kovalik 10:20 AMнаправих една малка промяна в краина сметка, комитнах гоNikolay Yankov 10:20 AMLukas Kovalik 10:20 AMtoвa зa favicon има ли си тикетNikolav Yankov 10:21 AMсамо ми писаако искаш си направилаже по-лооре ла имаFriday. April 24th~TodavvLukas Kovalik 10.21AMхубаво да направим. доста време ми отнеме и маи тряова с вес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMNikolav Vankov 12.22 pMПуснах пак перію а вим какро в написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?трябва ли да го вкарваме в кешLukas Kovalik 4.54 pNНики погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоvcтaнoвим.TAAAAA KAnIelsзашо въобше е в UserTransformer. той се зарежла при много лруги случаи и реално ни трябва само за Iтоtionстоаница+ AaQ4@ 6 100%4 & Mon27 Apr 18:58:05*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is callea multiple times in a single response.• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"par_num":"0","width": [{"par_num":"0","width":"0.01453488304259929","top":"-0.00000000002272559918026218","line_num":"0","left":"0.015988372286839896","text":"Slack","height":"0.017421602252187585","word_num":"0","page_num":"0","conf":"1","block_num":"0","level":"0"},{"height":"0.006968641205077342","page_num":"0","text":"VIew","par_num":"0","width":"0.010174418383456299","level":"0","top":"0.00696864102015915","line_num":"0","word_num":"0","block_num":"0","left":"0.06395348841001604","conf":"0.30000001192092896"},{"height":"0.013937282410154683","level":"0","line_num":"0","conf":"1","page_num":"0","text":"Home","par_num":"0","top":"0.13588850153592147","word_num":"0","left":"0.0058139540803213065","width":"0.011627906180442649","block_num":"0"},{"width":"0.014534883042599294","block_num":"0","left":"0.004360465697692593","page_num":"0","conf":"1","top":"0.24390243911780862","line_num":"0","word_num":"0","par_num":"0","height":"0.017421602252187585","level":"0","text":"Activity"},{"text":"Later","block_num":"0","height":"0.017421602252187585","conf":"1","page_num":"0","left":"0.005813953768543167","line_num":"0","width":"0.010174418383456292","top":"0.3519163764000386","word_num":"0","par_num":"0","level":"0"},{"page_num":"0","level":"0","par_num":"0","width":"0.011627906180442649","height":"0.013937282410154683","block_num":"0","line_num":"0","top":"0.407665505020242","word_num":"0","text":"More","left":"0.0058139540803213065","conf":"1"},{"conf":"0.5","left":"0.027616280227326647","text":"Jiminny…..","width":"0.030523254516276906","line_num":"0","page_num":"0","block_num":"0","par_num":"0","word_num":"0","height":"0.020905922094220375","level":"0","top":"0.06271777054406291"},{"height":"0.010452960286604362","top":"0.09407665591941561","line_num":"0","page_num":"0","left":"0.03343023162082732","block_num":"0","width":"0.04941860158392724","par_num":"0","text":"@ jiminny-x-integrati","word_num":"0","conf":"0.5","level":"0"},{"height":"0.017571645490290444","conf":"0.5","par_num":"0","word_num":"0","page_num":"0","block_num":"0","line_num":"0","left":"0.03343023206285708","level":"0","text":"& platform-inner-team","top":"0.11483253574621899","width":"0.05377906941353006"},{"top":"0.14274322169059017","width":"0.029069766085198585","conf":"0.30000001192092896","text":"© Channels","level":"0","height":"0.01754385964912275","line_num":"0","par_num":"0","word_num":"0","left":"0.029069768796061723","block_num":"0","page_num":"0"},{"line_num":"0","conf":"1","block_num":"0","left":"0.0333854731523376","text":"# ai-chapter","width":"0.03351975248215046","page_num":"0","word_num":"0","height":"0.01843704941550317","level":"0","par_num":"0","top":"0.16673966325440914"},{"level":"0","width":"0.021802323929806973","conf":"0.5","block_num":"0","top":"0.18815331079259123","page_num":"0","line_num":"0","word_num":"0","par_num":"0","height":"0.01758831577818165","left":"0.033430233468533056","text":"# alerts"},{"width":"0.026162791759409804","conf":"0.30000001192092896","text":"i backend","word_num":"0","height":"0.007257612128006796","par_num":"0","line_num":"0","left":"0.034883720326690446","level":"0","page_num":"0","top":"0.2160278744399171","block_num":"0"},{"par_num":"0","word_num":"0","line_num":"0","left":"0.03343023220953198","text":"# confusion-clinic","top":"0.23344947772024505","page_num":"0","width":"0.045058138827060126","level":"0","height":"0.017746694160230225","block_num":"0","conf":"0.5"},{"height":"0.014354066985645897","width":"0.03779069667166852","par_num":"0","word_num":"0","level":"0","page_num":"0","conf":"1","top":"0.25757575757575757","text":"# curiosity_lab","block_num":"0","line_num":"0","left":"0.033430233415436834"},{"top":"0.2787456450411536","par_num":"0","page_num":"0","level":"0","block_num":"0","conf":"1","height":"0.017421602252187585","text":"# engineering","width":"0.03633720824059019","left":"0.03343023248338709","word_num":"0","line_num":"0"},{"text":"# generall","top":"0.3030303029362562","word_num":"0","width":"0.026162789223041938","page_num":"0","height":"0.010558546635142552","par_num":"0","left":"0.03343023460359518","block_num":"0","level":"0","conf":"0.5","line_num":"0"},{"left":"0.033430233678823834","word_num":"0","par_num":"0","line_num":"0","level":"0","text":"# infra-changes","top":"0.3237639551848104","height":"0.017699459142852314","conf":"1","page_num":"0","block_num":"0","width":"0.04069767353382517"},{"level":"0","line_num":"0","left":"0.03343023267189024","page_num":"0","conf":"1","height":"0.017421602252187474","par_num":"0","text":"# jiminny-bg","width":"0.03343023137843355","word_num":"0","top":"0.3449477351689121","block_num":"0"},{"width":"0.04360465293234968","top":"0.3728222995949062","conf":"0.30000001192092896","block_num":"0","par_num":"0","word_num":"0","line_num":"0","page_num":"0","height":"0.006968641205077342","level":"0","left":"0.03343023160068563","text":"a nlattorm-nckets"},{"width":"0.04941860158392724","block_num":"0","text":"# product_launches","height":"0.01771335206343605","par_num":"0","conf":"1","top":"0.3899521529042582","level":"0","left":"0.03343023562535342","line_num":"0","page_num":"0","word_num":"0"},{"left":"0.033430231987316365","par_num":"0","top":"0.41463414720861425","conf":"1","line_num":"0","text":"# random","word_num":"0","width":"0.026162789223041945","level":"0","page_num":"0","block_num":"0","height":"0.010452960286604362"},{"left":"0.033430233971852706","par_num":"0","text":"# releases","conf":"1","height":"0.014354066985646008","top":"0.43540669856459324","block_num":"0","level":"0","line_num":"0","word_num":"0","width":"0.02761627765412026","page_num":"0"},{"conf":"1","height":"0.017727244984020007","par_num":"0","width":"0.034883719809511875","left":"0.03343023258555416","level":"0","page_num":"0","text":"# sofia-office","word_num":"0","line_num":"0","block_num":"0","top":"0.45614035056563407"},{"conf":"0.5","text":"# support","width":"0.027616277654120266","par_num":"0","top":"0.48083623672755915","block_num":"0","word_num":"0","level":"0","page_num":"0","height":"0.013937282410154683","left":"0.033430233969918705","line_num":"0"},{"text":"# thank-yous","height":"0.017568866601971322","top":"0.5015948961656965","block_num":"0","word_num":"0","line_num":"0","conf":"1","page_num":"0","par_num":"0","width":"0.03488371980951188","level":"0","left":"0.0334302336998952"},{"conf":"0.5","width":"0.05523255530824053","level":"0","height":"0.017741137904603632","top":"0.5223285484012261","par_num":"0","block_num":"0","page_num":"0","line_num":"0","word_num":"0","left":"0.033430235379805606","text":"# the_people_of jimi..."},{"word_num":"0","block_num":"0","page_num":"0","level":"0","left":"0.029069768385209225","par_num":"0","width":"0.04505813882706014","top":"0.5540069688436597","line_num":"0","text":"• Direct messages","conf":"0.30000001192092896","height":"0.017763365969133194"},{"word_num":"0","width":"0.04410918722761439","page_num":"0","conf":"0.5","height":"0.022105172870642065","line_num":"0","block_num":"0","left":"0.03315112929498593","text":". Nikolay Yankov","level":"0","par_num":"0","top":"0.5742437870873378"},{"top":"0.5956937797519628","height":"0.021030958379474662","text":"P. Galya Dimitrova M","page_num":"0","width":"0.05232557844608388","block_num":"0","line_num":"0","conf":"0.30000001192092896","level":"0","left":"0.033430233466317634","par_num":"0","word_num":"0"},{"top":"0.6202090594836914","width":"0.047965115689216783","text":"A. Aneliya Angelova","word_num":"0","conf":"0.5","par_num":"0","line_num":"0","left":"0.03343023353108929","block_num":"0","page_num":"0","height":"0.017749473048549347","level":"0"},{"level":"0","page_num":"0","line_num":"0","height":"0.006968640444571572","par_num":"0","text":"wYasll Vaciler","word_num":"0","conf":"0.30000001192092896","left":"0.03343023272588386","block_num":"0","top":"0.6480836240285853","width":"0.034883717273144016"},{"conf":"0.5","text":"3 Aneliya Angelova,..","left":"0.0334302335571803","height":"0.017421602252187585","par_num":"0","level":"0","line_num":"0","page_num":"0","top":"0.6655052266903987","block_num":"0","width":"0.05087209255137342","word_num":"0"},{"left":"0.0334302320269567","top":"0.6864111500801692","width":"0.04215116196490349","page_num":"0","word_num":"0","block_num":"0","height":"0.0177355801279655","par_num":"0","conf":"0.5","line_num":"0","text":"C. Nikolay Ivanov","level":"0"},{"level":"0","left":"0.033430233608541776","par_num":"0","line_num":"0","top":"0.710526315793022","word_num":"0","page_num":"0","width":"0.045058138827060126","height":"0.01769668025453308","block_num":"0","text":"R. Nikolay Nikolov","conf":"0.5"},{"text":"fl. Stefka Stoyanova","level":"0","line_num":"0","par_num":"0","conf":"0.30000001192092896","word_num":"0","left":"0.0334302335307816","top":"0.7317073172101431","height":"0.017421602252187585","width":"0.04796511568921677","page_num":"0","block_num":"0"},{"page_num":"0","top":"0.752613240720201","left":"0.03343023190749662","level":"0","line_num":"0","block_num":"0","conf":"1","text":"R. Adelina Petrova","width":"0.04505813882706013","word_num":"0","par_num":"0","height":"0.017721687207381653"},{"text":"R. Stoyan Tomov","top":"0.7767145135705419","level":"0","height":"0.01771057317511704","line_num":"0","par_num":"0","word_num":"0","conf":"0.5","left":"0.03343023367505823","page_num":"0","width":"0.04069767353382516","block_num":"0"},{"width":"0.043604647859613946","word_num":"0","conf":"1","level":"0","block_num":"0","line_num":"0","left":"0.0334302366242539","top":"0.8013937287417153","height":"0.010452960286604362","par_num":"0","page_num":"0","text":"( Petko Kashinski"},{"line_num":"0","block_num":"0","left":"0.033430233608541776","width":"0.045058138827060126","conf":"0.5","height":"0.017552194793068465","level":"0","page_num":"0","par_num":"0","text":"88. Mario Georgiev","top":"0.8221690590544602","word_num":"0"},{"word_num":"0","line_num":"0","left":"0.03343023662617514","par_num":"0","page_num":"0","text":"Ss: Todor Stamatov.","block_num":"0","top":"0.8466898963487846","width":"0.043604647859613946","height":"0.010566881779088155","level":"0","conf":"0.5"},{"line_num":"0","left":"0.033430233608541776","page_num":"0","top":"0.8675958186090923","text":"Pa Gabriela Dureva","conf":"0.5","width":"0.045058138827060126","block_num":"0","height":"0.013937282410154683","par_num":"0","word_num":"0","level":"0"},{"height":"0.010452960286604362","conf":"0.30000001192092896","left":"0.027616278907612524","par_num":"0","level":"0","text":"#::Annd","top":"0.8989547046999035","width":"0.020348835498728648","word_num":"0","block_num":"0","line_num":"0","page_num":"0"},{"conf":"0.5","line_num":"0","block_num":"0","left":"0.03343023298627709","par_num":"0","height":"0.017421602252187474","word_num":"0","width":"0.03197674294735524","page_num":"0","top":"0.9198606275759968","text":"S Jira Cloud","level":"0"},{"top":"0.9407665505780702","width":"0.023255812360885295","word_num":"0","height":"0.017766144857452204","conf":"0.30000001192092896","block_num":"0","text":"® Toast","par_num":"0","level":"0","line_num":"0","page_num":"0","left":"0.03343023412519857"},{"text":"Miston","left":"0.09302325755713681","height":"0.006968640444571461","top":"0.006968641450188162","line_num":"0","level":"0","par_num":"0","page_num":"0","word_num":"0","conf":"0.30000001192092896","block_num":"0","width":"0.01598837020549368"},{"top":"-0.00000000002272559918026218","width":"0.01744185990475594","word_num":"0","height":"0.017421602252187585","text":"Window","line_num":"0","conf":"1","page_num":"0","level":"0","par_num":"0","block_num":"0","left":"0.11482558143328095"},{"conf":"1","top":"-0.00000000002272559918026218","left":"0.13662790727799573","page_num":"0","block_num":"0","width":"0.011627906180442654","height":"0.017421602252187585","level":"0","line_num":"0","par_num":"0","text":"Help","word_num":"0"},{"conf":"1","left":"0.14098837474722473","height":"0.017579980634236048","level":"0","line_num":"0","par_num":"0","width":"0.07267441648118039","word_num":"0","block_num":"0","page_num":"0","top":"0.027874564683673886","text":"Q Describe what you are looking for"},{"par_num":"0","top":"0.06271777048382365","left":"0.113372094092083","word_num":"0","page_num":"0","line_num":"0","block_num":"0","level":"0","width":"0.05377906941353007","conf":"0.5","height":"0.021014286570571916","text":"Nikolay Yankov"},{"page_num":"0","par_num":"0","text":"• Messages","top":"0.10104529652728955","width":"0.024709300791963637","conf":"1","word_num":"0","height":"0.01059744650857486","level":"0","line_num":"0","block_num":"0","left":"0.10465116432315079"},{"level":"0","text":"Add canva","line_num":"0","par_num":"0","top":"0.1044657097288676","width":"0.02906976354883073","page_num":"0","word_num":"0","left":"0.1351744195663418","conf":"0.30000001192092896","height":"0.0071770334928229484","block_num":"0"},{"text":"ur Files","block_num":"0","level":"0","conf":"0.30000001192092896","width":"0.017441858636572022","par_num":"0","top":"0.1044657097288676","line_num":"0","word_num":"0","height":"0.0071770334928229484","left":"0.17005813961545385","page_num":"0"},{"block_num":"0","height":"0.007235383302971465","level":"0","width":"0.13372091536826275","word_num":"0","top":"0.1219512197142345","par_num":"0","line_num":"0","text":"•ноппри други не знам точно как става и от кьде го взима","conf":"0.5","left":"0.11482558320318606","page_num":"0"},{"left":"0.11773256307080245","page_num":"0","block_num":"0","level":"0","top":"0.1427432218721273","word_num":"0","line_num":"0","conf":"1","height":"0.010566881779088155","par_num":"0","text":"та Галя ми писа да го видим","width":"0.06540697178942091"},{"width":"0.11918604627568671","height":"0.017707794286797807","conf":"1","block_num":"0","level":"0","top":"0.16347687435296954","par_num":"0","line_num":"0","page_num":"0","word_num":"0","left":"0.11627907214679953","text":"доколкото виждам, тази трябва да е окей иконата"},{"text":"atminny/app/pubttc/tmunny_c.ong","block_num":"0","level":"0","top":"0.18815331006593472","left":"0.11773255915597408","conf":"0.30000001192092896","width":"0.07848837020549368","word_num":"0","line_num":"0","page_num":"0","height":"0.006968641205077342","par_num":"0"},{"block_num":"0","par_num":"0","height":"0.013937282410154683","conf":"1","left":"0.11773255693508003","line_num":"0","text":"Lukas Kovalik 2:41 PM","top":"0.20557491278139528","width":"0.04941860665666295","level":"0","page_num":"0","word_num":"0"},{"page_num":"0","left":"0.11773255831754799","line_num":"0","block_num":"0","par_num":"0","text":"aletetl","top":"0.22996515675850016","width":"0.01889534833583427","level":"0","height":"0.003484320602538671","conf":"0.30000001192092896","word_num":"0"},{"conf":"1","height":"0.017599429810446376","left":"0.1162790706245697","line_num":"0","text":"ще го погледна","par_num":"0","page_num":"0","block_num":"0","word_num":"0","width":"0.03924418510274684","top":"0.24720893169881464","level":"0"},{"width":"0.052325578446083876","conf":"0.5","par_num":"0","text":"Nikolav Yankov 2:41 PM","line_num":"0","block_num":"0","height":"0.0071770334928229484","level":"0","page_num":"0","top":"0.27511961722488043","word_num":"0","left":"0.11773256087393302"},{"width":"0.053779069413530056","conf":"1","height":"0.013937282410154683","par_num":"0","text":"Nikolay Yankov 7:44 PM","line_num":"0","word_num":"0","left":"0.11773255928757967","block_num":"0","page_num":"0","level":"0","top":"0.32055749118026977"},{"block_num":"0","conf":"0.5","word_num":"0","height":"0.0071770334928230595","left":"0.11773255504382633","text":"Лукас. за понелелник виж коментаnа от Claude","line_num":"0","top":"0.34130781499202545","width":"0.11046512076195249","page_num":"0","level":"0","par_num":"0"},{"conf":"1","top":"0.35540069695752985","text":"https://github.com/jiminny/app/pull/11998","page_num":"0","height":"0.017421602252187585","left":"0.11773256032822503","word_num":"0","line_num":"0","par_num":"0","width":"0.09593023137843355","level":"0","block_num":"0"},{"text":"Lukas Kovalik 10:20 AM","top":"0.4178628389154705","left":"0.11773255943718407","line_num":"0","block_num":"0","word_num":"0","level":"0","par_num":"0","width":"0.05377906941353007","conf":"1","height":"0.014354066985646008","page_num":"0"},{"block_num":"0","page_num":"0","par_num":"0","text":"направих една малка промяна в краина сметка, комитнах го","width":"0.13808138827060135","word_num":"0","line_num":"0","height":"0.007252054351368553","top":"0.4425087111743482","conf":"1","level":"0","left":"0.11773255367596376"},{"line_num":"0","level":"0","height":"0.013937282410154794","top":"0.45993031338261137","par_num":"0","text":"Nikolay Yankov 10:20 AM","page_num":"0","left":"0.11773255937818321","width":"0.0566860462756867","block_num":"0","conf":"1","word_num":"0"},{"width":"0.05232557844608386","top":"0.5015948963317385","left":"0.117732560783593","line_num":"0","block_num":"0","level":"0","text":"Lukas Kovalik 10:20 AM","word_num":"0","page_num":"0","height":"0.014354066985645897","conf":"1","par_num":"0"},{"top":"0.5223285486359023","word_num":"0","line_num":"0","width":"0.07267441648118039","page_num":"0","block_num":"0","conf":"0.30000001192092896","level":"0","left":"0.11773256023955428","height":"0.00728817609698762","par_num":"0","text":"toвa зa favicon има ли си тикет"},{"height":"0.007188147525087785","conf":"0.5","left":"0.11773256588021923","par_num":"0","page_num":"0","top":"0.5470383278142917","level":"0","block_num":"0","width":"0.05523255023550479","word_num":"0","text":"Nikolav Yankov 10:21 AM","line_num":"0"},{"left":"0.11627906891407741","level":"0","text":"само ми писа","top":"0.588516746345869","word_num":"0","par_num":"0","conf":"0.5","page_num":"0","width":"0.03197674548372309","block_num":"0","height":"0.0073020690175715774","line_num":"0"},{"block_num":"0","line_num":"0","left":"0.11627907367322542","par_num":"0","level":"0","text":"ако искаш си направи","conf":"1","width":"0.05232557844608389","word_num":"0","page_num":"0","height":"0.0071770334928229484","top":"0.613237639553429"},{"block_num":"0","conf":"0.5","top":"0.6376306619661798","line_num":"0","par_num":"0","width":"0.05377906941353007","word_num":"0","left":"0.11627906991128846","page_num":"0","level":"0","height":"0.006968641205077342","text":"лаже по-лооре ла има"},{"page_num":"0","block_num":"0","top":"0.1323763954031456","height":"0.010480746888277825","text":"Friday. April 24th~","width":"0.039244182566379016","word_num":"0","par_num":"0","conf":"0.5","left":"0.2776162829680394","level":"0","line_num":"0"},{"word_num":"0","height":"0.006968641205077342","level":"0","par_num":"0","width":"0.01744185990475594","page_num":"0","conf":"0.30000001192092896","top":"0.39372822292243226","line_num":"0","text":"Todavv","block_num":"0","left":"0.2892441862540174"},{"level":"0","conf":"1","line_num":"0","page_num":"0","par_num":"0","text":"Lukas Kovalik 10.21AM","height":"0.017768922224759676","block_num":"0","word_num":"0","top":"0.6547049445425557","left":"0.11627907259365675","width":"0.05523255530824053"},{"conf":"0.5","page_num":"0","width":"0.19912790744862657","line_num":"0","level":"0","word_num":"0","block_num":"0","par_num":"0","top":"0.6794258373205742","height":"0.0071770334928229484","text":"хубаво да направим. доста време ми отнеме и маи тряова с вес така иначе да се види","left":"0.11773255752034405"},{"left":"0.11627907366496457","top":"0.7001594896331965","conf":"0.5","width":"0.04941860158392722","page_num":"0","word_num":"0","height":"0.01064190339813964","line_num":"0","level":"0","block_num":"0","par_num":"0","text":"от S3 изглежда идва"},{"page_num":"0","text":"Nikolay Yankov 10:22 AM","level":"0","top":"0.7208931422620036","par_num":"0","word_num":"0","line_num":"0","conf":"1","width":"0.0566860462756867","block_num":"0","height":"0.017782815145343522","left":"0.11773255937818321"},{"width":"0.053779069413530084","height":"0.0071770334928229484","text":"Nikolav Vankov 12.22 pM","conf":"0.30000001192092896","left":"0.11773255932605839","block_num":"0","word_num":"0","page_num":"0","par_num":"0","level":"0","top":"0.766347687400319","line_num":"0"},{"block_num":"0","level":"0","page_num":"0","top":"0.7838915470494418","conf":"0.30000001192092896","width":"0.09593022123296209","word_num":"0","line_num":"0","text":"Пуснах пак перію а вим какро в написало","height":"0.0071770334928229484","left":"0.11773256944966344","par_num":"0"},{"par_num":"0","conf":"1","page_num":"0","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","word_num":"0","level":"0","top":"0.8046251993620415","width":"0.20348837020549365","height":"0.014354066985645897","line_num":"0","block_num":"0","left":"0.1162790729979442"},{"height":"0.017552194793068465","level":"0","top":"0.8221690592693266","block_num":"0","left":"0.11627907135153791","text":"трябва ли да го вкарваме в кеш","conf":"0.5","width":"0.07558139334333704","par_num":"0","word_num":"0","page_num":"0","line_num":"0"},{"conf":"0.30000001192092896","block_num":"0","height":"0.017421602206736386","level":"0","page_num":"0","text":"","par_num":"0","left":"0.47674418604651164","line_num":"0","top":"0.02787456492450635","word_num":"0","width":"0.008720929941860467"},{"text":"Lukas Kovalik 4.54 pN","par_num":"0","top":"0.8500797448165869","width":"0.04796511568921677","word_num":"0","line_num":"0","block_num":"0","left":"0.11773255940555027","conf":"0.30000001192092896","height":"0.0071770334928230595","page_num":"0","level":"0"},{"conf":"0.5","par_num":"0","text":"Ники погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го","width":"0.3691860361302152","word_num":"0","block_num":"0","height":"0.017421602252187585","line_num":"0","left":"0.11773255829553275","page_num":"0","top":"0.8641114986561362","level":"0"},{"page_num":"0","text":"vcтaнoвим.T","top":"0.8850174215383827","left":"0.11627907033026297","level":"0","conf":"0.30000001192092896","par_num":"0","height":"0.006968641205077342","width":"0.031976742947355224","word_num":"0","block_num":"0","line_num":"0"},{"height":"0.007327075970420038","page_num":"0","text":"AAAAA KAnI","line_num":"0","block_num":"0","width":"0.027616275117752387","top":"0.8850174217942274","word_num":"0","left":"0.17005814066838318","par_num":"0","level":"0","conf":"0.30000001192092896"},{"word_num":"0","block_num":"0","top":"0.8989547041679581","text":"els","par_num":"0","width":"0.010174417749364312","level":"0","left":"0.2383720939596201","line_num":"0","page_num":"0","height":"0.006968640444571461","conf":"0.30000001192092896"},{"level":"0","page_num":"0","par_num":"0","text":"зашо въобше е в UserTransformer. той се зарежла при много лруги случаи и реално ни трябва само за I","top":"0.9233449481743922","width":"0.23837207226043056","block_num":"0","left":"0.10610467185906443","word_num":"0","conf":"0.5","line_num":"0","height":"0.010466853967693979"},{"height":"0.006968640444571461","conf":"0.30000001192092896","top":"0.9268292686278885","line_num":"0","left":"0.3517441859265359","level":"0","page_num":"0","par_num":"0","block_num":"0","word_num":"0","width":"0.03779069413530062","text":"тоtionстоаница"},{"conf":"0.30000001192092896","page_num":"0","par_num":"0","line_num":"0","block_num":"0","width":"0.018895348335834256","word_num":"0","top":"0.9512195119378624","height":"0.017680009966641874","left":"0.10755814010049372","level":"0","text":"+ Aa"},{"word_num":"0","par_num":"0","top":"0.00000000033500369145400555","left":"0.8343023291036977","line_num":"0","conf":"0.30000001192092896","level":"0","height":"0.020905922094220375","text":"Q4@ 6 100%4 & Mon27 Apr 18:58:05","block_num":"0","width":"0.16279069413530056","page_num":"0"},{"word_num":"0","conf":"0.5","text":"*","top":"0.027874564982578343","par_num":"0","height":"0.02090592282229975","line_num":"0","page_num":"0","width":"0.007267441678779241","level":"0","block_num":"0","left":"0.890988372238372"},{"line_num":"0","conf":"1","left":"0.5029069814629333","level":"0","page_num":"0","text":"Al reports promotion pages #11998","block_num":"0","word_num":"0","height":"0.017421602252187585","par_num":"0","top":"0.06271777012826163","width":"0.08284883296236079"},{"word_num":"0","page_num":"0","block_num":"0","height":"0.010475189872145352","left":"0.5029069820341029","level":"0","conf":"1","par_num":"0","line_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","top":"0.08362369354010668","width":"0.21947674041098741"},{"page_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.515988370209941","level":"0","top":"0.10765550223535247","width":"0.08720929571922797","word_num":"0","height":"0.007327075970420038","line_num":"0","text":"ranoramakeportsrrono leatures gria nou","par_num":"0"},{"width":"0.12936045261139562","block_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","height":"0.010516868633896892","word_num":"0","left":"0.6206395320015682","level":"0","page_num":"0","line_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.10446570957187562"},{"page_num":"0","level":"0","word_num":"0","par_num":"0","text":"leseeis","conf":"0.30000001192092896","left":"0.5145348831763734","height":"0.003484320602538671","line_num":"0","top":"0.12543554003627422","block_num":"0","width":"0.023255814897253146"},{"height":"0.017571645490290444","left":"0.6206395381627619","conf":"1","word_num":"0","level":"0","line_num":"0","width":"0.04069767099745736","par_num":"0","top":"0.11483253561555695","page_num":"0","block_num":"0","text":"added at line 170"},{"text":"Fixed - both now say \"We will get in touch with you as soon","top":"0.14274322169059017","word_num":"0","line_num":"0","left":"0.6206395418231858","block_num":"0","page_num":"0","conf":"1","width":"0.1308139435788419","height":"0.01754385964912275","level":"0","par_num":"0"},{"line_num":"0","block_num":"0","page_num":"0","text":"Wording inconsistency (modal vs inline)","level":"0","conf":"1","height":"0.017621659395987477","left":"0.5145348893682301","top":"0.15311004759362778","par_num":"0","width":"0.08720929571922786","word_num":"0"},{"top":"0.16724738673389183","conf":"0.30000001192092896","block_num":"0","level":"0","text":"as possible.","width":"0.027616277654120225","word_num":"0","line_num":"0","left":"0.6206395362891324","par_num":"0","height":"0.006968641205077342","page_num":"0"},{"top":"0.1951219515547178","left":"0.514534888937681","height":"0.006968640444571461","conf":"0.30000001192092896","page_num":"0","block_num":"0","par_num":"0","text":"nrer compured calling can a second","level":"0","width":"0.08866277654120269","word_num":"0","line_num":"0"},{"height":"0.0175883172991933","left":"0.620639539097222","level":"0","page_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"Fixed - canManageAiReports extracted as a shared","word_num":"0","top":"0.18815330979979739","width":"0.11482557337334798","conf":"1"},{"level":"0","page_num":"0","conf":"1","left":"0.6220930244397125","par_num":"0","text":"computed","top":"0.20557491298540453","width":"0.023255812360885253","word_num":"0","line_num":"0","block_num":"0","height":"0.017421602252187474"},{"top":"0.20557491302895847","par_num":"0","width":"0.011627906180442626","text":"time","block_num":"0","left":"0.5145348842644298","line_num":"0","page_num":"0","height":"0.017421602252187585","level":"0","conf":"1","word_num":"0"},{"page_num":"0","left":"0.5159883762736059","word_num":"0","line_num":"0","par_num":"0","width":"0.08284883296236079","top":"0.23344947777831704","height":"0.017746694160230114","level":"0","conf":"1","block_num":"0","text":"trackInterest endpoint missing rate"},{"left":"0.5145348854641136","top":"0.25435540103206966","width":"0.015988370205493596","word_num":"0","conf":"1","level":"0","par_num":"0","block_num":"0","height":"0.006968640444571461","line_num":"0","text":"limitina","page_num":"0"},{"left":"0.6206395358560387","top":"0.24003189772282119","word_num":"0","height":"0.017807823619203744","conf":"1","level":"0","page_num":"0","par_num":"0","block_num":"0","text":"Still present (see below)","line_num":"0","width":"0.05523255530824056"},{"line_num":"0","conf":"1","par_num":"0","word_num":"0","level":"0","text":"Remaining issues","block_num":"0","left":"0.5000000013287278","top":"0.31339712947633447","width":"0.0479651156892168","height":"0.017613322731030334","page_num":"0"},{"line_num":"0","level":"0","width":"0.10319766592472168","conf":"0.5","word_num":"0","page_num":"0","left":"0.500000004738088","par_num":"0","text":". Extra DB query still fires on every page load","block_num":"0","height":"0.017596652443139016","top":"0.34843205595226867"},{"page_num":"0","height":"0.017632773428252313","conf":"1","text":"app/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297","level":"0","line_num":"0","block_num":"0","par_num":"0","left":"0.4999999984771364","width":"0.24709301806510764","word_num":"0","top":"0.3763066205923885"},{"width":"0.2194767201200445","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).","top":"0.4178628388386477","left":"0.502907000810188","height":"0.010708589112739642","conf":"1","page_num":"0","level":"0","line_num":"0","word_num":"0","block_num":"0","par_num":"0"},{"par_num":"0","height":"0.017741137904603743","block_num":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","page_num":"0","line_num":"0","left":"0.5000000072941873","width":"0.24127905419532292","top":"0.45993031375224214","word_num":"0","level":"0","conf":"0.5"},{"par_num":"0","block_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","word_num":"0","line_num":"0","width":"0.25000000000000006","conf":"1","height":"0.013937282410154683","left":"0.49999999992732563","level":"0","page_num":"0","top":"0.4773519162821602"},{"conf":"1","height":"0.020967051553193783","page_num":"0","word_num":"0","block_num":"0","level":"0","line_num":"0","par_num":"0","left":"0.5014534918272605","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","top":"0.4912280702286602","width":"0.24854649888708236"},{"par_num":"0","width":"0.22819764563377865","block_num":"0","text":"ISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as the","height":"0.010686361048210191","word_num":"0","page_num":"0","conf":"0.5","level":"0","top":"0.5119617223575448","line_num":"0","left":"0.5000000058253165"},{"page_num":"0","word_num":"0","par_num":"0","line_num":"0","width":"0.08720930586469933","block_num":"0","level":"0","text":"uaaested mitiaations (in order of effort):","conf":"0.5","top":"0.5606060607314207","left":"0.5014534853695082","height":"0.0073381900026847635"},{"word_num":"0","conf":"1","left":"0.5014534869745092","block_num":"0","line_num":"0","par_num":"0","page_num":"0","height":"0.01754385964912286","level":"0","top":"0.5853269537480064","width":"0.17587209255137348","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-"},{"text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","line_num":"0","par_num":"0","conf":"0.5","width":"0.23982555308240527","word_num":"0","top":"0.6027874571526035","page_num":"0","level":"0","left":"0.5058139713227934","height":"0.01762721565161396","block_num":"0"},{"conf":"0.5","width":"0.12354649888708236","top":"0.6267942582824599","height":"0.007352082923268499","line_num":"0","left":"0.5072674434499944","word_num":"0","par_num":"0","page_num":"0","level":"0","text":"transtorm() Is callea multiple times in a single response.","block_num":"0"},{"block_num":"0","height":"0.017421602252187474","level":"0","page_num":"0","top":"0.6376306621143244","conf":"1","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/","line_num":"0","left":"0.500000009904769","width":"0.2558139435788419","word_num":"0","par_num":"0"},{"top":"0.6618819776714514","block_num":"0","word_num":"0","left":"0.5058139616289973","page_num":"0","line_num":"0","height":"0.0071770334928229484","text":"deletion pipeline — eliminates the querv entirelv.","width":"0.10465115689216775","level":"0","conf":"1","par_num":"0"},{"conf":"0.5","height":"0.013937282410154683","word_num":"0","text":"Fix this →","line_num":"0","page_num":"0","par_num":"0","level":"0","left":"0.5000000014415185","top":"0.6864111496195452","width":"0.021802323929806966","block_num":"0"},{"height":"0.017807823619203744","page_num":"0","text":"2. trackInterest endpoint has no rate limit or idempotency guard","top":"0.742160278657975","width":"0.15552324944354118","line_num":"0","block_num":"0","left":"0.4985465185881723","par_num":"0","word_num":"0","level":"0","conf":"1"},{"text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","width":"0.22823879566598443","par_num":"0","word_num":"0","line_num":"0","top":"0.772289603067025","height":"0.015257785194798479","block_num":"0","left":"0.4999778777726774","page_num":"0","conf":"1","level":"0"},{"width":"0.02470930332833149","page_num":"0","height":"0.006968641205077342","block_num":"0","level":"0","conf":"0.5","top":"0.7944250870834626","text":"pi.php:282","left":"0.4999999995712994","line_num":"0","word_num":"0","par_num":"0"},{"top":"0.8325358853529533","page_num":"0","height":"0.021122651046923346","block_num":"0","line_num":"0","par_num":"0","text":"public function trackInterest(Request srequest): JsonResponse","level":"0","conf":"0.5","width":"0.14534883296236079","word_num":"0","left":"0.5029069762911409"},{"block_num":"0","conf":"0.5","height":"0.0071770334928229484","top":"0.8604465709728868","par_num":"0","width":"0.23255810839064572","level":"0","page_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","word_num":"0","line_num":"0","left":"0.5116279148651706"},{"level":"0","top":"0.9266347687970263","width":"0.25290696164394944","height":"0.010647460414272003","left":"0.500000019045948","word_num":"0","conf":"1","par_num":"0","block_num":"0","line_num":"0","page_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /"},{"par_num":"0","left":"0.49999999512449644","level":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","word_num":"0","top":"0.9407665505780702","line_num":"0","width":"0.2441860564211581","conf":"1","page_num":"0","block_num":"0","height":"0.017766144857452204"},{"height":"0.017421602252187474","top":"0.958188153403523","word_num":"0","line_num":"0","page_num":"0","conf":"1","level":"0","width":"0.05668604627568663","block_num":"0","par_num":"0","text":"racking noise in analytics.","left":"0.5000000013824143"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4843
|
NULL
|
NULL
|
|
89220
|
iTerm2ShellEdit ViewSessionScripts|ProfilesWindowH iTerm2ShellEdit ViewSessionScripts|ProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rjatest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_exrcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to.* pro copied to clipboardcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests_/Uater1ckerr1eld.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% CMon 27 Apr 18:58:06181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-10+-5 +1701816+-629429422133+++APP-++++++++....
|
[{"width":"0.03633720874786377", [{"width":"0.03633720874786377","level":"0","height":"0.013953487608167836","page_num":"0","par_num":"0","line_num":"0","word_num":"0","conf":"1","block_num":"0","left":"0.033430232229750306","text":"iTerm2","top":"0.006976744645528443"},{"par_num":"0","top":"0.006976744412970359","word_num":"0","line_num":"0","text":"Shell","width":"0.031976742214626735","block_num":"0","height":"0.013953487608167836","level":"0","page_num":"0","left":"0.08284883872795794","conf":"0.5"},{"level":"0","width":"0.053779066933525924","text":"Edit View","word_num":"0","block_num":"0","conf":"0.5","par_num":"0","top":"0.004444444444444473","page_num":"0","height":"0.016666666666666607","left":"0.11627907109228551","line_num":"0"},{"line_num":"0","block_num":"0","left":"0.18168604790258086","par_num":"0","top":"0.0069767444517300214","height":"0.013953487608167836","text":"Session","conf":"1","width":"0.034883719020419646","word_num":"0","page_num":"0","level":"0"},{"left":"0.2296406737588108","line_num":"0","width":"0.031997723049587645","word_num":"0","page_num":"0","level":"0","height":"0.014077084859212219","par_num":"0","block_num":"0","conf":"0.5","text":"Scripts|","top":"0.006914945827753649"},{"conf":"1","height":"0.014200344085693373","level":"0","line_num":"0","top":"0.006853316216056116","left":"0.27323585639556563","width":"0.033470148510403086","block_num":"0","text":"Profiles","page_num":"0","par_num":"0","word_num":"0"},{"par_num":"0","text":"Window","block_num":"0","height":"0.013953487608167836","top":"0.006976744645528443","page_num":"0","word_num":"0","width":"0.03633720874786378","conf":"1","left":"0.31831395315998284","level":"0","line_num":"0"},{"par_num":"0","top":"0.006976744474985863","line_num":"0","left":"0.36773255878967304","word_num":"0","conf":"1","block_num":"0","width":"0.02034883631600276","page_num":"0","height":"0.013953487608167836","text":"Help","level":"0"},{"width":"0.049418603049384224","conf":"1","par_num":"0","block_num":"0","left":"0.47529069803997187","page_num":"0","level":"0","text":"APP (-zsh)","word_num":"0","height":"0.014496124055650483","line_num":"0","top":"0.03666666662527551"},{"conf":"1","height":"0.013953487608167947","line_num":"0","par_num":"0","block_num":"0","level":"0","top":"0.06511627921917185","word_num":"0","width":"0.03488371902041965","left":"0.050872094365759145","page_num":"0","text":"DOCKER"},{"block_num":"0","page_num":"0","line_num":"0","par_num":"0","text":"881","top":"0.06744186101707039","width":"0.010174418158001353","left":"0.14680232582288885","height":"0.011627906163533597","conf":"0.30000001192092896","level":"0","word_num":"0"},{"page_num":"0","word_num":"0","conf":"1","height":"0.011627906163533597","block_num":"0","line_num":"0","par_num":"0","top":"0.0674418609589309","left":"0.2107558135640147","text":"DEV (docker)","width":"0.05087209277682833","level":"0"},{"level":"0","text":"₴82","page_num":"0","top":"0.06744186045818157","width":"0.014534884028964579","left":"0.30813953472970373","conf":"0.30000001192092896","word_num":"0","line_num":"0","par_num":"0","height":"0.011627907223171752","block_num":"0"},{"block_num":"0","level":"0","page_num":"0","top":"0.0674418609589309","left":"0.3793604658741403","par_num":"0","word_num":"0","text":"APP (-zsh)","line_num":"0","height":"0.011627906163533597","width":"0.040697672632005466","conf":"0.5"},{"level":"0","top":"0.06511627921917185","conf":"0.30000001192092896","line_num":"0","page_num":"0","left":"0.47238372128431727","par_num":"0","text":"83","width":"0.013081394301520444","word_num":"0","block_num":"0","height":"0.013953487608167947"},{"block_num":"0","text":"screenpipe\"","width":"0.048017358779907204","top":"0.0648826047097042","level":"0","left":"0.5348576004786272","height":"0.014420836766560807","page_num":"0","line_num":"0","par_num":"0","word_num":"0","conf":"0.5"},{"height":"0.016279069052802186","level":"0","conf":"1","top":"0.09069767473716484","width":"0.2790697521633572","word_num":"0","left":"0.008720942522972407","page_num":"0","text":"front-end/src/components/AiReports/Manage/__tests_","par_num":"0","block_num":"0","line_num":"0"},{"line_num":"0","page_num":"0","level":"0","block_num":"0","word_num":"0","top":"0.0906976745315402","par_num":"0","left":"0.2863372117089401","height":"0.01860465155707458","width":"0.14098837110731333","conf":"1","text":"_/ManageAiReports.spec.js"},{"width":"0.44622090657552077","left":"0.00872094763883828","page_num":"0","level":"0","block_num":"0","height":"0.016279069052802186","line_num":"0","par_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","top":"0.1093023258515059","word_num":"0","conf":"1"},{"top":"0.13023255838057568","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","page_num":"0","left":"0.008720945815069964","block_num":"0","line_num":"0","level":"0","width":"0.5232557932535807","par_num":"0","height":"0.016279069052802186","conf":"1","word_num":"0"},{"left":"0.00872092909910249","line_num":"0","par_num":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","level":"0","block_num":"0","page_num":"0","conf":"1","height":"0.018604651557074692","width":"0.6002906799316406","top":"0.1488372093377417","word_num":"0"},{"line_num":"0","par_num":"0","left":"0.008720941327598099","text":"front-end/src/components/AiReports/constants.js","word_num":"0","top":"0.16976744197340066","conf":"1","height":"0.018604651557074692","block_num":"0","level":"0","page_num":"0","width":"0.26308138105604384"},{"block_num":"0","level":"0","par_num":"0","top":"0.18837209251603637","width":"0.4127906799316406","left":"0.008720944627202777","word_num":"0","line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","conf":"1","page_num":"0","height":"0.01860465155707458"},{"level":"0","page_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","par_num":"0","word_num":"0","block_num":"0","line_num":"0","conf":"1","top":"0.20930232526797432","width":"0.4069767422146267","height":"0.01860465155707458","left":"0.008720936305477206"},{"text":"front-end/src/components/Settings/shared/FormElements/Field.less","top":"0.2302325584096454","page_num":"0","left":"0.00872093223776006","height":"0.016279069052802186","block_num":"0","level":"0","conf":"1","width":"0.35755814446343315","line_num":"0","word_num":"0","par_num":"0"},{"height":"0.018604651557074692","conf":"1","par_num":"0","top":"0.2488372089889045","word_num":"0","left":"0.008720934875787774","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","block_num":"0","page_num":"0","width":"0.35174418555365666","level":"0","line_num":"0"},{"block_num":"0","left":"0.008720937779436768","line_num":"0","page_num":"0","level":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","par_num":"0","conf":"1","word_num":"0","height":"0.01860465155707458","top":"0.26976744154704413","width":"0.4854651133219401"},{"left":"0.008720939940422036","line_num":"0","par_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","width":"0.3793604532877604","block_num":"0","conf":"1","word_num":"0","level":"0","top":"0.29069767465964547","height":"0.016279069052802075","page_num":"0"},{"par_num":"0","top":"0.3093023252679743","width":"0.3851743910047743","left":"0.008720948847176679","word_num":"0","page_num":"0","height":"0.01860465155707458","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","conf":"1","line_num":"0","level":"0"},{"conf":"1","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","left":"0.01017442358565618","top":"0.3325581400286983","height":"0.011627906163533597","line_num":"0","width":"0.27180230882432727","level":"0","word_num":"0","block_num":"0","page_num":"0"},{"line_num":"0","par_num":"0","width":"0.1061046494377984","conf":"0.5","level":"0","block_num":"0","height":"0.013953487608167836","page_num":"0","text":"__mocks__/nudges.js","left":"0.2805232549080388","top":"0.3325581400718851","word_num":"0"},{"par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","top":"0.3488372088726255","width":"0.4622092776828342","level":"0","block_num":"0","word_num":"0","height":"0.01860465155707458","line_num":"0","page_num":"0","conf":"1","left":"0.008720944988524652"},{"width":"0.3183139377170139","conf":"1","height":"0.01860465155707458","left":"0.008720943423469624","level":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","word_num":"0","block_num":"0","page_num":"0","par_num":"0","top":"0.3697674416633232"},{"page_num":"0","word_num":"0","line_num":"0","left":"0.008720939432180469","block_num":"0","conf":"1","level":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","height":"0.020930230882432732","top":"0.3883720938223495","width":"0.31540696885850694"},{"conf":"1","level":"0","line_num":"0","top":"0.36976744175634635","width":"0.2790697521633572","block_num":"0","height":"0.018604651557074692","left":"0.32994186531367026","page_num":"0","word_num":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","par_num":"0"},{"par_num":"0","word_num":"0","height":"0.01860465155707458","page_num":"0","level":"0","conf":"1","left":"0.329941858342544","line_num":"0","top":"0.3883720925160363","text":"/__snapshots__/saved-search-modal.output.html","block_num":"0","width":"0.25145348442925347"},{"block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","par_num":"0","page_num":"0","level":"0","height":"0.018604651557074692","left":"0.008720939459133782","word_num":"0","top":"0.4093023252679743","conf":"1","line_num":"0","width":"0.32412789662679037"},{"level":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","left":"0.008720945245547382","block_num":"0","conf":"1","page_num":"0","par_num":"0","top":"0.4302325583805757","height":"0.016279069052802075","width":"0.36773253546820744","word_num":"0"},{"block_num":"0","level":"0","conf":"1","page_num":"0","left":"0.008720939802207934","width":"0.4854651133219401","line_num":"0","word_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","height":"0.01860465155707458","par_num":"0","top":"0.4488372090276642"},{"word_num":"0","height":"0.016279069052802075","line_num":"0","top":"0.4697674423340641","par_num":"0","level":"0","conf":"1","left":"0.007267450825504717","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","width":"0.49709298875596786","block_num":"0","page_num":"0"},{"page_num":"0","height":"0.016279069052802186","text":"tests/Feature/NudgeProcessingFeatureTest.php","level":"0","width":"0.245639525519477","left":"0.008720936961676194","top":"0.49069767467902525","word_num":"0","block_num":"0","line_num":"0","par_num":"0","conf":"1"},{"level":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","top":"0.509302325306734","page_num":"0","height":"0.01860465155707458","word_num":"0","line_num":"0","block_num":"0","par_num":"0","width":"0.3241278966267904","left":"0.008720940809666643","conf":"1"},{"top":"0.5302325584096454","block_num":"0","line_num":"0","word_num":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","width":"0.4127906799316406","page_num":"0","left":"0.008720944263830709","conf":"1","height":"0.016279069052802186","level":"0","par_num":"0"},{"block_num":"0","height":"0.018604651557074692","par_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","line_num":"0","conf":"1","left":"0.007267443399245208","top":"0.548837209182703","width":"0.3808139377170139","word_num":"0","level":"0","page_num":"0"},{"block_num":"0","word_num":"0","conf":"1","left":"0.00872094066747218","page_num":"0","level":"0","par_num":"0","line_num":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","height":"0.018604651557074692","top":"0.5697674415470441","width":"0.26308138105604384"},{"conf":"1","width":"0.2790697521633572","line_num":"0","level":"0","page_num":"0","par_num":"0","height":"0.016279069052802297","top":"0.5906976748922036","block_num":"0","left":"0.008720935081112163","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","word_num":"0"},{"height":"0.018604651557074692","block_num":"0","top":"0.6093023252679742","word_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","width":"0.4069767422146267","conf":"1","left":"0.008720936305477206","page_num":"0","level":"0","par_num":"0","line_num":"0"},{"height":"0.018604651557074692","top":"0.630232558174951","conf":"1","line_num":"0","left":"0.008720932494423177","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","word_num":"0","block_num":"0","width":"0.3735465155707466","par_num":"0","level":"0","page_num":"0"},{"conf":"1","par_num":"0","line_num":"0","page_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","block_num":"0","left":"0.008720925345802873","top":"0.6488372087951062","word_num":"0","height":"0.018604651557074692","width":"0.3575581444634332","level":"0"},{"word_num":"0","line_num":"0","page_num":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","level":"0","height":"0.023669251335991737","block_num":"0","top":"0.6674418601201179","par_num":"0","conf":"1","width":"0.30668604109022357","left":"0.008720930055878897"},{"height":"0.046666666666666634","text":"rjatest. php","block_num":"0","word_num":"0","left":"0.30416666593749997","level":"0","top":"0.64","page_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.0625","line_num":"0"},{"width":"0.45784882439507385","height":"0.016279069052802186","block_num":"0","page_num":"0","par_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","line_num":"0","left":"0.008720943324406762","top":"0.6906976746596454","word_num":"0","level":"0","conf":"1"},{"text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","width":"0.43459303114149306","block_num":"0","conf":"1","height":"0.019018088446723036","left":"0.008720931639580777","level":"0","word_num":"0","page_num":"0","par_num":"0","line_num":"0","top":"0.7088888884478272"},{"conf":"1","top":"0.73","width":"0.4186046600341797","par_num":"0","page_num":"0","height":"0.01666666666666672","left":"0.008720931874829398","block_num":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","word_num":"0","line_num":"0","level":"0"},{"block_num":"0","conf":"1","page_num":"0","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","height":"0.0189405674404568","word_num":"0","top":"0.7488372099361025","left":"0.008720944031500208","width":"0.5188953399658203","level":"0","line_num":"0"},{"conf":"1","height":"0.01912144766913515","block_num":"0","page_num":"0","par_num":"0","level":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","left":"0.00872094292957427","top":"0.769767441714528","line_num":"0","word_num":"0","width":"0.556686019897461"},{"left":"0.008720936095371022","word_num":"0","width":"0.42296511332194014","par_num":"0","page_num":"0","height":"0.018604651557074692","level":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_exr","block_num":"0","top":"0.7883720927098347","conf":"1","line_num":"0"},{"par_num":"0","conf":"1","line_num":"0","height":"0.019018088446723036","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to.","top":"0.8088888885350364","width":"0.4215116288926866","page_num":"0","word_num":"0","level":"0","block_num":"0","left":"0.008720923558256209"},{"word_num":"0","block_num":"0","conf":"1","left":"0.4331395360834659","line_num":"0","par_num":"0","page_num":"0","width":"0.1308139483133952","height":"0.01666666666666672","level":"0","top":"0.8044444444444444","text":"* pro copied to clipboard"},{"conf":"1","par_num":"0","level":"0","page_num":"0","block_num":"0","line_num":"0","left":"0.00872093066119501","width":"0.5901162889268663","word_num":"0","height":"0.018888888888888955","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests_/Uater1ckerr1eld.spec.js","top":"0.83"},{"width":"0.5901162889268663","left":"0.00872093066119501","height":"0.0189405674404568","word_num":"0","par_num":"0","page_num":"0","top":"0.8488372098663348","line_num":"0","block_num":"0","conf":"1","level":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache"},{"page_num":"0","left":"0.00872095191817562","top":"0.8697674421015059","line_num":"0","par_num":"0","width":"0.6017441643608942","conf":"1","word_num":"0","block_num":"0","level":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","height":"0.016279069052802186"},{"word_num":"0","conf":"1","left":"0.008720941480167237","par_num":"0","line_num":"0","block_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","top":"0.8906976746596453","height":"0.016279069052802186","width":"0.5188953399658204","level":"0","page_num":"0"},{"block_num":"0","level":"0","conf":"1","line_num":"0","top":"0.9088888883993775","width":"0.5130813598632812","height":"0.019018088446723036","left":"0.008720965718114076","page_num":"0","par_num":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","word_num":"0"},{"height":"0.016666666666666607","word_num":"0","top":"0.93","width":"0.4796511332194011","block_num":"0","level":"0","line_num":"0","left":"0.008720959803854693","page_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","par_num":"0","conf":"1"},{"top":"0.9488372099361024","block_num":"0","word_num":"0","width":"0.4636627621120876","left":"0.008720958818144888","level":"0","par_num":"0","conf":"1","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","page_num":"0","height":"0.0189405674404568","line_num":"0"},{"level":"0","width":"0.5348837110731336","left":"0.004360485232488721","block_num":"0","height":"0.02144702911376961","word_num":"0","page_num":"0","par_num":"0","line_num":"0","conf":"1","top":"0.9674418601201177","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O"},{"left":"0.6250000001737047","line_num":"0","conf":"0.30000001192092896","page_num":"0","text":"O 84","block_num":"0","height":"0.013953487608167836","level":"0","top":"0.06511627927731145","width":"0.024709301524692084","par_num":"0","word_num":"0"},{"text":"-zsh","height":"0.011627906163533597","par_num":"0","page_num":"0","top":"0.06744186098800065","level":"0","word_num":"0","width":"0.017441859510209823","conf":"0.5","line_num":"0","left":"0.7194767443728021","block_num":"0"},{"text":"885","top":"0.0674418609589309","page_num":"0","line_num":"0","left":"0.7994186049777334","level":"0","conf":"0.30000001192092896","word_num":"0","width":"0.01453488270441694","par_num":"0","height":"0.011627906163533597","block_num":"0"},{"text":"100% C","word_num":"0","level":"0","height":"0.014444444444444371","left":"0.8168604676103026","line_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.042151159710354325","block_num":"0","top":"0.00666666666666671","page_num":"0"},{"top":"0.00666666666666671","block_num":"0","level":"0","line_num":"0","page_num":"0","height":"0.014444444444444371","left":"0.8909883701829538","text":"Mon 27 Apr 18:58:06","conf":"1","word_num":"0","par_num":"0","width":"0.09738372166951492"},{"conf":"0.30000001192092896","height":"0.013953487608167836","level":"0","top":"0.034883721195916095","par_num":"0","text":"181","block_num":"0","left":"0.9723837216312426","page_num":"0","width":"0.020348836316002705","line_num":"0","word_num":"0"},{"text":"ec2-user@ip-10-30-95-134:...","top":"0.06744186083296189","level":"0","left":"0.8372093056452314","block_num":"0","page_num":"0","par_num":"0","conf":"1","line_num":"0","height":"0.011627906163533597","width":"0.11046511332194009","word_num":"0"},{"line_num":"0","par_num":"0","page_num":"0","word_num":"0","conf":"0.30000001192092896","top":"0.06511627933545094","level":"0","block_num":"0","left":"0.9534883728710178","text":"• ₴6|","width":"0.024709301524692084","height":"0.013953487608167836"},{"block_num":"0","word_num":"0","left":"0.6511627904225332","level":"0","top":"0.09069767487282365","conf":"1","width":"0.014534884028964523","text":"66","height":"0.016279069052802297","par_num":"0","page_num":"0","line_num":"0"},{"left":"0.668604651975057","level":"0","block_num":"0","line_num":"0","height":"0.011627906163533486","par_num":"0","conf":"1","page_num":"0","text":"++++","width":"0.024709301524692084","top":"0.09302325610427975","word_num":"0"},{"word_num":"0","par_num":"0","level":"0","conf":"1","left":"0.6511627914915763","height":"0.01669250594245064","text":"23 +-","line_num":"0","block_num":"0","page_num":"0","top":"0.1088888889538393","width":"0.03052325513627796"},{"line_num":"0","page_num":"0","word_num":"0","block_num":"0","level":"0","conf":"1","text":"20","height":"0.016279069052802186","top":"0.130232558334064","width":"0.014534884028964634","left":"0.6511627904273781","par_num":"0"},{"left":"0.6686046519044723","word_num":"0","width":"0.013081394301520444","level":"0","block_num":"0","par_num":"0","page_num":"0","conf":"0.5","top":"0.13255813982521003","height":"0.011627906163533486","line_num":"0","text":"+-"},{"text":"4","line_num":"0","top":"0.15116279116279063","block_num":"0","word_num":"0","height":"0.013953487906976814","page_num":"0","level":"0","conf":"1","left":"0.658430232751938","par_num":"0","width":"0.007267441618217019"},{"block_num":"0","conf":"0.30000001192092896","height":"0.011627906163533486","line_num":"0","text":"+-","top":"0.15348837269342708","word_num":"0","level":"0","width":"0.01162790722317164","left":"0.6686046510880266","page_num":"0","par_num":"0"},{"block_num":"0","par_num":"0","line_num":"0","top":"0.16976744216490824","conf":"0.30000001192092896","left":"0.6584302333351134","word_num":"0","width":"0.01889534791310632","height":"0.013953487608167947","level":"0","page_num":"0","text":"7 +"},{"conf":"0.5","par_num":"0","text":"1 +","word_num":"0","page_num":"0","line_num":"0","level":"0","left":"0.6584302333351134","width":"0.01889534791310632","height":"0.013953487608167836","block_num":"0","top":"0.19069767472304788"},{"top":"0.20930232582243613","conf":"1","width":"0.015988371107313437","left":"0.6511627914570022","par_num":"0","line_num":"0","height":"0.016279069052802186","block_num":"0","page_num":"0","text":"24","word_num":"0","level":"0"},{"width":"0.010174418158001464","text":"+-","line_num":"0","top":"0.21395348820707683","word_num":"0","level":"0","par_num":"0","page_num":"0","left":"0.6700581396855341","conf":"0.5","block_num":"0","height":"0.009302325778537401"},{"width":"0.01453488270441694","conf":"1","word_num":"0","block_num":"0","left":"0.6511627910242451","line_num":"0","par_num":"0","top":"0.23023255863777647","height":"0.013953487608167947","level":"0","page_num":"0","text":"10"},{"block_num":"0","text":"+-","word_num":"0","top":"0.23255813974769057","page_num":"0","line_num":"0","width":"0.015988371107313437","left":"0.6656976748387852","height":"0.011627906163533597","conf":"0.5","level":"0","par_num":"0"},{"height":"0.01671834627787272","left":"0.6584302327537183","conf":"0.5","line_num":"0","page_num":"0","par_num":"0","block_num":"0","top":"0.2488372092900042","level":"0","width":"0.01889534791310632","word_num":"0","text":"5 +"},{"level":"0","par_num":"0","width":"0.01889534791310621","height":"0.013953487608167836","line_num":"0","top":"0.26976744235870675","word_num":"0","text":"170","conf":"1","page_num":"0","block_num":"0","left":"0.646802325807255"},{"top":"0.2906976748780866","height":"0.013953487608167836","block_num":"0","left":"0.651162790963683","level":"0","text":"18","word_num":"0","line_num":"0","par_num":"0","conf":"1","width":"0.01453488270441694","page_num":"0"},{"page_num":"0","block_num":"0","text":"16","top":"0.30930232621003295","par_num":"0","word_num":"0","left":"0.651162791205931","height":"0.016279069052802297","width":"0.01453488270441694","conf":"1","level":"0","line_num":"0"},{"word_num":"0","conf":"0.30000001192092896","height":"0.011627906163533486","block_num":"0","par_num":"0","text":"+-","top":"0.31395348897249686","level":"0","page_num":"0","width":"0.013081394301520444","line_num":"0","left":"0.6686046517106738"},{"height":"0.01860465155707458","par_num":"0","left":"0.6482558143219299","conf":"1","text":"62","line_num":"0","block_num":"0","level":"0","page_num":"0","width":"0.017441859510209934","top":"0.3488372088726255","word_num":"0"},{"text":"942","word_num":"0","top":"0.36976744235870673","block_num":"0","level":"0","width":"0.01889534791310621","page_num":"0","left":"0.646802325807255","line_num":"0","height":"0.013953487608167836","conf":"1","par_num":"0"},{"width":"0.01889534791310621","word_num":"0","top":"0.39069767491684626","height":"0.013953487608167947","conf":"1","left":"0.646802325807255","block_num":"0","level":"0","line_num":"0","page_num":"0","text":"942","par_num":"0"},{"word_num":"0","par_num":"0","line_num":"0","block_num":"0","height":"0.016279069052802186","left":"0.6511627910605823","text":"21","top":"0.4093023256673973","width":"0.01453488270441694","page_num":"0","level":"0","conf":"1"},{"height":"0.016279070112440452","page_num":"0","par_num":"0","level":"0","line_num":"0","text":"33","left":"0.6511627906082568","word_num":"0","width":"0.014534884028964523","block_num":"0","conf":"1","top":"0.43023255805747485"},{"width":"0.017441859510209823","conf":"1","word_num":"0","left":"0.6700581403030346","top":"0.3534883723833495","block_num":"0","height":"0.011627906163533486","level":"0","line_num":"0","page_num":"0","par_num":"0","text":"+++"},{"height":"0.08372093200683584","word_num":"0","top":"0.14651162688694752","block_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.8517441850662857","level":"0","par_num":"0","text":"APP","line_num":"0","width":"0.1395348866780598"},{"page_num":"0","line_num":"0","top":"0.5906976744186047","width":"0.005813953197674415","height":"0.011627906395348941","text":"-","left":"0.6366279070494186","block_num":"0","conf":"0.30000001192092896","par_num":"0","level":"0","word_num":"0"},{"block_num":"0","height":"0.0813953484429254","width":"0.011627911196814611","page_num":"0","conf":"0.30000001192092896","level":"0","par_num":"0","line_num":"0","left":"0.6686046489364764","text":"++++","top":"0.4511627900808629","word_num":"0"},{"line_num":"0","conf":"1","par_num":"0","left":"0.6700581393147707","page_num":"0","height":"0.013953488667805991","block_num":"0","top":"0.5325581392707482","word_num":"0","level":"0","width":"0.011627907223171752","text":"++"},{"word_num":"0","left":"0.6700581393235938","conf":"0.30000001192092896","block_num":"0","text":"++.","width":"0.013081395626068137","par_num":"0","height":"0.01162790722317164","page_num":"0","level":"0","top":"0.6116279067372514","line_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3809
|
NULL
|
NULL
|
|
89221
|
HomeActivityLaterMoreSlackVIewJiminny…..@ jiminny- HomeActivityLaterMoreSlackVIewJiminny…..@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsic backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga mlatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages. Nikolay YankovP. Galya Dimitrova MA. Aneliya AngelovawYasll VacilerAneliya Angelova,..C. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela Dureva#::AnndS Jira Cloud® ToastMistonWindowHelpQ Describe what you are looking forNikolay Yankov• MessagesAdd canvaur Files•ноппри други не знам точно как става и от кьде го взимата Галя ми писа да го видимдоколкото виждам, тази трябва да е окей иконатаatminny/app/puottc/atminny_c.ongLukas Kovalik 2:41 PMaletetlще го погледнаNikolav Yankov 2:41 PMNikolay Yankov 7:44 PMЛукас. за понелелник виж коментаnа от Claudehttps://github.com/jiminny/app/pull/11998Lukas Kovalik 10:20 AMнаправих една малка промяна в краина сметка, комитнах гоNikolay Yankov 10:20 AMLukas Kovalik 10:20 AMtoвa зa favicon има ли си тикетNikolav Yankov 10:21 AMсамо ми писаако искаш си направилаже по-лооре ла имаFriday. April 24th~TodavvLukas Kovalik 10.21AMхубаво да направим. доста време ми отнеме и маи тряова с вес така иначе да се видиот S3 изглежда идваNikolay Yankov 10:22 AMNikolav Vankov 12.22 pMПуснах пак перію а вим какро в написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?трябва ли да го вкарваме в кешLukas Kovalik 4.54 pNНики погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоустановим. Това може да е по-бавно, но си e edge case.зашо въобше е в UserTransformer. той се зарежла при много лруги случаи и реално чи трябва само за promotion страница+ AaQ4@ б 10%4 8 Mon27 Apr 18:58:12*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is callea multiple times in a single response.• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"word_num":"0","conf": [{"word_num":"0","conf":"1","text":"Home","line_num":"0","par_num":"0","top":"0.13588850153592147","left":"0.0058139540803213065","level":"0","block_num":"0","page_num":"0","width":"0.011627906180442649","height":"0.013937282410154683"},{"line_num":"0","width":"0.014534883042599294","par_num":"0","left":"0.004360465697692593","page_num":"0","level":"0","conf":"1","block_num":"0","text":"Activity","height":"0.017421602252187585","top":"0.24390243911780862","word_num":"0"},{"par_num":"0","text":"Later","top":"0.3519163764290747","width":"0.010174418383456292","line_num":"0","left":"0.005813953538407517","word_num":"0","conf":"1","height":"0.017421602252187474","page_num":"0","block_num":"0","level":"0"},{"conf":"1","height":"0.013937282410154683","left":"0.0058139540803213065","level":"0","par_num":"0","line_num":"0","block_num":"0","text":"More","top":"0.407665505020242","page_num":"0","width":"0.011627906180442649","word_num":"0"},{"level":"0","line_num":"0","par_num":"0","width":"0.01453488304259929","height":"0.017421602252187585","word_num":"0","top":"-0.00000000002272559918026218","page_num":"0","conf":"1","block_num":"0","text":"Slack","left":"0.015988372286839896"},{"text":"VIew","par_num":"0","conf":"0.30000001192092896","top":"0.00696864102015915","width":"0.010174418383456299","level":"0","left":"0.06395348841001604","line_num":"0","page_num":"0","word_num":"0","height":"0.006968641205077342","block_num":"0"},{"word_num":"0","left":"0.027616280227326647","block_num":"0","height":"0.020905922094220375","level":"0","par_num":"0","top":"0.06271777054406291","width":"0.030523254516276906","conf":"0.5","text":"Jiminny…..","line_num":"0","page_num":"0"},{"top":"0.09407665591941561","width":"0.04941860158392724","word_num":"0","par_num":"0","height":"0.010452960286604362","text":"@ jiminny-x-integrati","conf":"0.5","left":"0.03343023162082732","page_num":"0","block_num":"0","level":"0","line_num":"0"},{"word_num":"0","block_num":"0","level":"0","text":"& platform-inner-team","left":"0.03343023206285708","conf":"0.5","top":"0.11483253574621899","width":"0.05377906941353006","page_num":"0","height":"0.017571645490290444","par_num":"0","line_num":"0"},{"block_num":"0","par_num":"0","width":"0.029069766085198585","word_num":"0","left":"0.029069768796061723","page_num":"0","height":"0.01754385964912275","conf":"0.30000001192092896","level":"0","text":"© Channels","top":"0.14274322169059017","line_num":"0"},{"text":"# ai-chapter","word_num":"0","page_num":"0","top":"0.16673966325440914","par_num":"0","width":"0.03351975248215046","block_num":"0","height":"0.01843704941550317","left":"0.0333854731523376","level":"0","line_num":"0","conf":"1"},{"top":"0.18815331079259123","conf":"0.5","left":"0.033430233468533056","level":"0","height":"0.01758831577818165","line_num":"0","width":"0.021802323929806973","par_num":"0","text":"# alerts","page_num":"0","block_num":"0","word_num":"0"},{"level":"0","page_num":"0","text":"ic backend","width":"0.027616277654120266","block_num":"0","height":"0.007257612128006796","left":"0.03343023381885928","line_num":"0","word_num":"0","par_num":"0","conf":"0.30000001192092896","top":"0.2160278744399171"},{"page_num":"0","word_num":"0","top":"0.23344947777831704","width":"0.045058138827060126","level":"0","conf":"0.5","height":"0.017746694160230114","left":"0.033430233663020295","line_num":"0","block_num":"0","par_num":"0","text":"# confusion-clinic"},{"level":"0","conf":"1","text":"# curiosity_lab","width":"0.037790696671668525","page_num":"0","par_num":"0","top":"0.25757575757575757","word_num":"0","block_num":"0","left":"0.03343023341543612","height":"0.014354066985645897","line_num":"0"},{"width":"0.03633720824059019","conf":"1","left":"0.03343023248338709","height":"0.017421602252187585","line_num":"0","par_num":"0","word_num":"0","block_num":"0","level":"0","page_num":"0","text":"# engineering","top":"0.2787456450411536"},{"line_num":"0","width":"0.026162789223041938","height":"0.010558546635142552","page_num":"0","level":"0","text":"# generall","word_num":"0","left":"0.03343023460359518","par_num":"0","block_num":"0","top":"0.3030303029362562","conf":"0.5"},{"text":"# infra-changes","width":"0.04069767353382517","line_num":"0","page_num":"0","block_num":"0","left":"0.033430233678823834","conf":"1","level":"0","par_num":"0","word_num":"0","height":"0.017699459142852314","top":"0.3237639551848104"},{"line_num":"0","par_num":"0","word_num":"0","level":"0","top":"0.3449477351689121","page_num":"0","conf":"1","width":"0.03343023137843355","block_num":"0","left":"0.03343023267189024","text":"# jiminny-bg","height":"0.017421602252187474"},{"conf":"0.30000001192092896","page_num":"0","width":"0.04360465293234968","height":"0.006968641205077342","text":"a mlatorm-nckets","word_num":"0","par_num":"0","left":"0.03343023160068563","level":"0","block_num":"0","top":"0.3728222995949062","line_num":"0"},{"width":"0.04941860158392724","left":"0.03343023562535342","height":"0.01771335206343605","conf":"1","line_num":"0","level":"0","par_num":"0","text":"# product_launches","top":"0.3899521529042582","block_num":"0","page_num":"0","word_num":"0"},{"height":"0.010452960286604362","word_num":"0","par_num":"0","line_num":"0","top":"0.4146341468601822","conf":"1","width":"0.026162789223041938","page_num":"0","block_num":"0","text":"# random","left":"0.03343023460359518","level":"0"},{"block_num":"0","conf":"1","height":"0.017554973681387476","level":"0","text":"# releases","width":"0.02761627765412026","left":"0.033430233971852706","top":"0.4354066984462488","line_num":"0","par_num":"0","page_num":"0","word_num":"0"},{"word_num":"0","par_num":"0","block_num":"0","page_num":"0","line_num":"0","height":"0.017727244984020007","conf":"1","text":"# sofia-office","level":"0","top":"0.45614035056563407","width":"0.034883719809511875","left":"0.03343023258555416"},{"block_num":"0","height":"0.013937282410154683","left":"0.033430233969918705","top":"0.48083623672755915","level":"0","par_num":"0","conf":"0.5","text":"# support","width":"0.027616277654120266","page_num":"0","line_num":"0","word_num":"0"},{"left":"0.0334302336998952","block_num":"0","level":"0","line_num":"0","page_num":"0","text":"# thank-yous","width":"0.03488371980951188","top":"0.5015948961656965","par_num":"0","height":"0.017568866601971322","conf":"1","word_num":"0"},{"text":"# the_people_of jimi...","par_num":"0","page_num":"0","line_num":"0","top":"0.5223285484012261","block_num":"0","height":"0.017741137904603632","left":"0.033430235379805606","level":"0","word_num":"0","conf":"0.5","width":"0.05523255530824053"},{"left":"0.029069768385209225","block_num":"0","line_num":"0","width":"0.04505813882706014","height":"0.017763365969133194","page_num":"0","level":"0","top":"0.5540069688436597","word_num":"0","conf":"0.30000001192092896","text":"• Direct messages","par_num":"0"},{"text":". Nikolay Yankov","width":"0.043851745889541945","word_num":"0","par_num":"0","left":"0.03327984846448679","level":"0","height":"0.018078297519227515","top":"0.5762572250159491","line_num":"0","block_num":"0","page_num":"0","conf":"0.5"},{"text":"P. Galya Dimitrova M","conf":"0.30000001192092896","line_num":"0","width":"0.05232557844608388","word_num":"0","left":"0.033430233466317634","par_num":"0","height":"0.021030958379474662","page_num":"0","top":"0.5956937797519628","level":"0","block_num":"0"},{"text":"A. Aneliya Angelova","conf":"0.5","level":"0","par_num":"0","block_num":"0","height":"0.017749473048549347","top":"0.6202090594836914","width":"0.047965115689216783","line_num":"0","left":"0.03343023353108929","page_num":"0","word_num":"0"},{"line_num":"0","left":"0.03343023272588386","level":"0","height":"0.006968640444571572","page_num":"0","text":"wYasll Vaciler","top":"0.6480836240285853","word_num":"0","block_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.034883717273144016"},{"conf":"0.5","height":"0.017421602252187585","width":"0.05087209255137342","level":"0","page_num":"0","line_num":"0","left":"0.0334302335571803","par_num":"0","top":"0.6655052266903987","text":"Aneliya Angelova,..","block_num":"0","word_num":"0"},{"conf":"0.5","text":"C. Nikolay Ivanov","line_num":"0","page_num":"0","block_num":"0","left":"0.0334302320269567","level":"0","height":"0.0177355801279655","par_num":"0","top":"0.6864111500801692","width":"0.04215116196490349","word_num":"0"},{"par_num":"0","width":"0.045058138827060126","top":"0.710526315793022","word_num":"0","line_num":"0","level":"0","left":"0.033430233608541776","conf":"0.5","height":"0.01769668025453308","page_num":"0","block_num":"0","text":"R. Nikolay Nikolov"},{"conf":"0.30000001192092896","left":"0.0334302335307816","par_num":"0","text":"fl. Stefka Stoyanova","top":"0.7317073172101431","width":"0.04796511568921677","word_num":"0","height":"0.017421602252187585","page_num":"0","block_num":"0","level":"0","line_num":"0"},{"par_num":"0","conf":"1","level":"0","line_num":"0","block_num":"0","text":"R. Adelina Petrova","left":"0.03343023190749662","top":"0.752613240720201","height":"0.017721687207381653","width":"0.04505813882706013","word_num":"0","page_num":"0"},{"line_num":"0","word_num":"0","width":"0.04069767353382516","text":"R. Stoyan Tomov","block_num":"0","par_num":"0","page_num":"0","conf":"0.5","level":"0","height":"0.01771057317511704","top":"0.7767145135705419","left":"0.03343023367505823"},{"conf":"1","height":"0.010452960286604362","page_num":"0","word_num":"0","level":"0","text":"( Petko Kashinski","top":"0.8013937287417153","left":"0.0334302366242539","line_num":"0","par_num":"0","width":"0.043604647859613946","block_num":"0"},{"conf":"0.5","height":"0.017552194793068465","page_num":"0","level":"0","line_num":"0","par_num":"0","text":"88. Mario Georgiev","width":"0.045058138827060126","block_num":"0","word_num":"0","top":"0.8221690590544602","left":"0.033430233608541776"},{"conf":"0.5","left":"0.03343023662617514","block_num":"0","line_num":"0","page_num":"0","word_num":"0","text":"Ss: Todor Stamatov.","width":"0.043604647859613946","par_num":"0","level":"0","height":"0.010566881779088155","top":"0.8466898963487846"},{"page_num":"0","height":"0.013937282410154683","block_num":"0","left":"0.033430233608541776","level":"0","par_num":"0","conf":"0.5","text":"Pa Gabriela Dureva","word_num":"0","line_num":"0","width":"0.045058138827060126","top":"0.8675958186090923"},{"height":"0.010452960286604362","conf":"0.30000001192092896","par_num":"0","line_num":"0","block_num":"0","level":"0","page_num":"0","top":"0.8989547046999035","width":"0.020348835498728648","word_num":"0","left":"0.027616278907612524","text":"#::Annd"},{"left":"0.03343023298627709","width":"0.03197674294735524","conf":"0.5","word_num":"0","block_num":"0","line_num":"0","page_num":"0","height":"0.017421602252187474","level":"0","par_num":"0","top":"0.9198606275759968","text":"S Jira Cloud"},{"top":"0.9407665505780702","height":"0.017766144857452204","conf":"0.30000001192092896","block_num":"0","width":"0.023255812360885295","word_num":"0","par_num":"0","text":"® Toast","left":"0.03343023412519857","line_num":"0","page_num":"0","level":"0"},{"conf":"0.30000001192092896","height":"0.006968640444571461","par_num":"0","top":"0.006968641450188162","page_num":"0","text":"Miston","block_num":"0","width":"0.01598837020549368","left":"0.09302325755713681","line_num":"0","word_num":"0","level":"0"},{"conf":"1","par_num":"0","block_num":"0","line_num":"0","top":"-0.00000000002272559918026218","width":"0.01744185990475594","text":"Window","left":"0.11482558143328095","height":"0.017421602252187585","level":"0","page_num":"0","word_num":"0"},{"width":"0.011627906180442654","line_num":"0","page_num":"0","left":"0.13662790727799573","text":"Help","par_num":"0","level":"0","top":"-0.00000000002272559918026218","height":"0.017421602252187585","block_num":"0","word_num":"0","conf":"1"},{"par_num":"0","text":"Q Describe what you are looking for","height":"0.017579980634236048","top":"0.027874564683673886","conf":"1","left":"0.14098837474722473","width":"0.07267441648118039","level":"0","block_num":"0","line_num":"0","word_num":"0","page_num":"0"},{"par_num":"0","word_num":"0","block_num":"0","left":"0.113372094092083","conf":"0.5","text":"Nikolay Yankov","page_num":"0","width":"0.05377906941353007","height":"0.021014286570571916","level":"0","line_num":"0","top":"0.06271777048382365"},{"level":"0","top":"0.10104529652728955","page_num":"0","height":"0.01059744650857486","width":"0.024709300791963637","line_num":"0","text":"• Messages","block_num":"0","word_num":"0","left":"0.10465116432315079","par_num":"0","conf":"1"},{"left":"0.1351744195663418","width":"0.02906976354883073","block_num":"0","conf":"0.30000001192092896","text":"Add canva","line_num":"0","par_num":"0","word_num":"0","page_num":"0","level":"0","top":"0.1044657097288676","height":"0.0071770334928229484"},{"block_num":"0","par_num":"0","top":"0.1044657097288676","width":"0.017441858636572022","height":"0.0071770334928229484","text":"ur Files","left":"0.17005813961545385","word_num":"0","page_num":"0","level":"0","line_num":"0","conf":"0.30000001192092896"},{"block_num":"0","top":"0.1219512197142345","width":"0.13372091536826275","word_num":"0","text":"•ноппри други не знам точно как става и от кьде го взима","conf":"0.5","left":"0.11482558320318606","page_num":"0","height":"0.007235383302971465","line_num":"0","par_num":"0","level":"0"},{"left":"0.11773256307080245","line_num":"0","block_num":"0","text":"та Галя ми писа да го видим","level":"0","conf":"1","width":"0.06540697178942091","page_num":"0","par_num":"0","height":"0.010566881779088155","top":"0.1427432218721273","word_num":"0"},{"conf":"1","page_num":"0","height":"0.017707794286797807","top":"0.16347687435296954","width":"0.11918604627568671","line_num":"0","level":"0","par_num":"0","word_num":"0","block_num":"0","text":"доколкото виждам, тази трябва да е окей иконата","left":"0.11627907214679953"},{"top":"0.18815331043973516","line_num":"0","text":"atminny/app/puottc/atminny_c.ong","level":"0","width":"0.07994185102746842","page_num":"0","block_num":"0","conf":"0.30000001192092896","word_num":"0","left":"0.11773256685545144","height":"0.006968640444571572","par_num":"0"},{"conf":"1","block_num":"0","left":"0.11773255693508003","height":"0.013937282410154683","level":"0","line_num":"0","top":"0.20557491278139528","word_num":"0","page_num":"0","text":"Lukas Kovalik 2:41 PM","par_num":"0","width":"0.04941860665666295"},{"height":"0.003484320602538671","level":"0","text":"aletetl","line_num":"0","block_num":"0","par_num":"0","top":"0.22996515675850016","width":"0.01889534833583427","conf":"0.30000001192092896","word_num":"0","page_num":"0","left":"0.11773255831754799"},{"height":"0.017599429810446376","top":"0.24720893169881464","page_num":"0","width":"0.03924418510274684","left":"0.1162790706245697","level":"0","line_num":"0","text":"ще го погледна","block_num":"0","par_num":"0","word_num":"0","conf":"1"},{"height":"0.0071770334928229484","top":"0.27511961722488043","width":"0.052325578446083876","par_num":"0","line_num":"0","left":"0.11773256087393302","level":"0","word_num":"0","page_num":"0","block_num":"0","conf":"0.5","text":"Nikolav Yankov 2:41 PM"},{"par_num":"0","height":"0.013937282410154683","text":"Nikolay Yankov 7:44 PM","word_num":"0","block_num":"0","conf":"1","left":"0.11773255928757967","line_num":"0","top":"0.32055749118026977","level":"0","width":"0.053779069413530056","page_num":"0"},{"left":"0.11773255504382633","word_num":"0","height":"0.0071770334928230595","page_num":"0","block_num":"0","level":"0","top":"0.34130781499202545","width":"0.11046512076195249","line_num":"0","par_num":"0","conf":"0.5","text":"Лукас. за понелелник виж коментаnа от Claude"},{"par_num":"0","text":"https://github.com/jiminny/app/pull/11998","level":"0","left":"0.11773256032822503","page_num":"0","block_num":"0","height":"0.017421602252187585","line_num":"0","conf":"1","width":"0.09593023137843355","word_num":"0","top":"0.35540069695752985"},{"left":"0.11773255943718407","page_num":"0","block_num":"0","text":"Lukas Kovalik 10:20 AM","level":"0","par_num":"0","word_num":"0","height":"0.014354066985646008","top":"0.4178628389154705","line_num":"0","width":"0.05377906941353007","conf":"1"},{"level":"0","width":"0.13808138827060135","line_num":"0","left":"0.11773255367596376","top":"0.4425087111743482","par_num":"0","page_num":"0","block_num":"0","text":"направих една малка промяна в краина сметка, комитнах го","word_num":"0","conf":"1","height":"0.007252054351368553"},{"width":"0.05668604627568671","block_num":"0","height":"0.013937282410154683","word_num":"0","top":"0.4599303134808871","left":"0.11773255926707307","line_num":"0","text":"Nikolay Yankov 10:20 AM","par_num":"0","page_num":"0","conf":"1","level":"0"},{"word_num":"0","conf":"1","block_num":"0","width":"0.05232557844608386","level":"0","top":"0.5015948963317385","page_num":"0","par_num":"0","line_num":"0","height":"0.014354066985645897","left":"0.117732560783593","text":"Lukas Kovalik 10:20 AM"},{"line_num":"0","level":"0","par_num":"0","text":"toвa зa favicon има ли си тикет","width":"0.07267441648118039","top":"0.5223285486359023","height":"0.00728817609698762","word_num":"0","block_num":"0","left":"0.11773256023955428","page_num":"0","conf":"0.30000001192092896"},{"conf":"0.30000001192092896","left":"0.11773256588021923","line_num":"0","par_num":"0","text":"Nikolav Yankov 10:21 AM","width":"0.05523255023550479","block_num":"0","height":"0.007188147525087785","page_num":"0","word_num":"0","level":"0","top":"0.5470383278142917"},{"text":"само ми писа","width":"0.03197674548372309","word_num":"0","height":"0.0073020690175715774","top":"0.588516746345869","level":"0","left":"0.11627906891407741","par_num":"0","conf":"0.5","line_num":"0","block_num":"0","page_num":"0"},{"top":"0.613237639553429","page_num":"0","par_num":"0","width":"0.05232557844608389","word_num":"0","block_num":"0","conf":"1","left":"0.11627907367322542","level":"0","height":"0.0071770334928229484","line_num":"0","text":"ако искаш си направи"},{"par_num":"0","top":"0.6376306619661798","width":"0.05377906941353007","height":"0.006968641205077342","conf":"0.5","word_num":"0","text":"лаже по-лооре ла има","line_num":"0","page_num":"0","level":"0","block_num":"0","left":"0.11627906991128846"},{"left":"0.2776162829680394","top":"0.1323763954031456","block_num":"0","height":"0.010480746888277825","page_num":"0","level":"0","par_num":"0","conf":"0.5","text":"Friday. April 24th~","line_num":"0","word_num":"0","width":"0.039244182566379016"},{"conf":"0.30000001192092896","height":"0.006968641205077342","left":"0.2892441862540174","top":"0.39372822292243226","block_num":"0","level":"0","page_num":"0","text":"Todavv","par_num":"0","line_num":"0","word_num":"0","width":"0.01744185990475594"},{"left":"0.11627907259365675","line_num":"0","height":"0.017768922224759676","page_num":"0","top":"0.6547049445425557","width":"0.05523255530824053","word_num":"0","block_num":"0","level":"0","conf":"1","par_num":"0","text":"Lukas Kovalik 10.21AM"},{"height":"0.0071770334928229484","top":"0.6794258373205742","conf":"0.5","left":"0.11773255752034405","word_num":"0","line_num":"0","level":"0","page_num":"0","par_num":"0","width":"0.19912790744862657","block_num":"0","text":"хубаво да направим. доста време ми отнеме и маи тряова с вес така иначе да се види"},{"line_num":"0","par_num":"0","page_num":"0","height":"0.01064190339813964","conf":"0.5","block_num":"0","text":"от S3 изглежда идва","word_num":"0","level":"0","top":"0.7001594896331965","width":"0.04941860158392722","left":"0.11627907366496457"},{"page_num":"0","width":"0.0566860462756867","block_num":"0","height":"0.017782815145343522","par_num":"0","top":"0.7208931422620036","word_num":"0","line_num":"0","text":"Nikolay Yankov 10:22 AM","conf":"1","level":"0","left":"0.11773255937818321"},{"line_num":"0","level":"0","text":"Nikolav Vankov 12.22 pM","height":"0.0071770334928229484","word_num":"0","width":"0.053779069413530084","par_num":"0","left":"0.11773255932605839","block_num":"0","top":"0.766347687400319","conf":"0.30000001192092896","page_num":"0"},{"block_num":"0","width":"0.09593022123296209","page_num":"0","level":"0","height":"0.0071770334928229484","par_num":"0","line_num":"0","text":"Пуснах пак перію а вим какро в написало","top":"0.7838915470494418","word_num":"0","left":"0.11773256944966344","conf":"0.30000001192092896"},{"line_num":"0","top":"0.8046251993620415","width":"0.20348837020549365","height":"0.014354066985645897","level":"0","par_num":"0","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","word_num":"0","block_num":"0","conf":"1","left":"0.1162790729979442","page_num":"0"},{"top":"0.8221690592693266","width":"0.07558139334333704","page_num":"0","block_num":"0","height":"0.017552194793068465","par_num":"0","level":"0","text":"трябва ли да го вкарваме в кеш","line_num":"0","left":"0.11627907135153791","word_num":"0","conf":"0.5"},{"level":"0","text":"","word_num":"0","height":"0.017421602206736386","conf":"0.30000001192092896","line_num":"0","par_num":"0","left":"0.47674418604651164","page_num":"0","block_num":"0","top":"0.02787456492450635","width":"0.008720929941860467"},{"text":"Lukas Kovalik 4.54 pN","top":"0.8500797448165869","conf":"0.30000001192092896","line_num":"0","height":"0.0071770334928230595","par_num":"0","word_num":"0","level":"0","page_num":"0","left":"0.11773255940555027","width":"0.04796511568921677","block_num":"0"},{"conf":"1","height":"0.017421602252187474","line_num":"0","par_num":"0","page_num":"0","text":"Ники погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го","top":"0.8641114985835461","level":"0","word_num":"0","width":"0.37063951695218994","left":"0.11627907512980801","block_num":"0"},{"par_num":"0","top":"0.8850174217942274","level":"0","width":"0.1279069717894209","word_num":"0","page_num":"0","line_num":"0","conf":"1","block_num":"0","text":"установим. Това може да е по-бавно, но си e edge case.","height":"0.010516868633896892","left":"0.1162790757306877"},{"width":"0.28343022123296213","level":"0","page_num":"0","par_num":"0","left":"0.10610466652672436","conf":"0.5","height":"0.010466853967693979","block_num":"0","text":"зашо въобше е в UserTransformer. той се зарежла при много лруги случаи и реално чи трябва само за promotion страница","line_num":"0","top":"0.9233449481743922","word_num":"0"},{"height":"0.017680009966641874","par_num":"0","text":"+ Aa","top":"0.9512195119378624","conf":"0.30000001192092896","width":"0.018895348335834256","word_num":"0","page_num":"0","level":"0","block_num":"0","line_num":"0","left":"0.10755814010049372"},{"width":"0.16279069413530056","word_num":"0","block_num":"0","height":"0.020905922094220375","par_num":"0","left":"0.8343023291036977","conf":"0.30000001192092896","level":"0","page_num":"0","line_num":"0","text":"Q4@ б 10%4 8 Mon27 Apr 18:58:12","top":"0.00000000033500369145400555"},{"par_num":"0","block_num":"0","page_num":"0","left":"0.890988372238372","text":"*","top":"0.027874564982578343","conf":"0.5","level":"0","width":"0.007267441678779241","word_num":"0","height":"0.02090592282229975","line_num":"0"},{"block_num":"0","conf":"1","page_num":"0","height":"0.017421602252187585","left":"0.5029069814629333","line_num":"0","text":"Al reports promotion pages #11998","level":"0","top":"0.06271777012826163","par_num":"0","width":"0.08284883296236079","word_num":"0"},{"line_num":"0","left":"0.5029069820341029","width":"0.21947674041098741","conf":"1","level":"0","height":"0.010475189872145352","page_num":"0","par_num":"0","block_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","top":"0.08362369354010668","word_num":"0"},{"conf":"0.30000001192092896","top":"0.10765550223535247","page_num":"0","height":"0.007327075970420038","block_num":"0","text":"ranoramakeportsrrono leatures gria nou","word_num":"0","par_num":"0","width":"0.08720929571922797","left":"0.515988370209941","level":"0","line_num":"0"},{"line_num":"0","block_num":"0","par_num":"0","top":"0.10446570957187562","page_num":"0","level":"0","width":"0.12936045261139562","word_num":"0","conf":"0.30000001192092896","height":"0.010516868633896892","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","left":"0.6206395320015682"},{"block_num":"0","line_num":"0","page_num":"0","text":"leseeis","top":"0.12543554003627422","conf":"0.30000001192092896","word_num":"0","height":"0.003484320602538671","level":"0","par_num":"0","left":"0.5145348831763734","width":"0.023255814897253146"},{"line_num":"0","word_num":"0","height":"0.017571645490290444","text":"added at line 170","page_num":"0","block_num":"0","level":"0","conf":"1","par_num":"0","top":"0.11483253561555695","width":"0.04069767099745736","left":"0.6206395381627619"},{"conf":"1","par_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","top":"0.14274322169059017","width":"0.1308139435788419","block_num":"0","height":"0.01754385964912275","word_num":"0","level":"0","page_num":"0","line_num":"0","left":"0.6206395418231858"},{"level":"0","block_num":"0","conf":"1","line_num":"0","word_num":"0","page_num":"0","height":"0.017621659395987477","par_num":"0","text":"Wording inconsistency (modal vs inline)","left":"0.5145348893682301","top":"0.15311004759362778","width":"0.08720929571922786"},{"height":"0.006968641205077342","top":"0.16724738673389183","word_num":"0","left":"0.6206395362891324","page_num":"0","par_num":"0","text":"as possible.","width":"0.027616277654120225","conf":"0.30000001192092896","level":"0","block_num":"0","line_num":"0"},{"level":"0","line_num":"0","height":"0.006968640444571461","conf":"0.30000001192092896","text":"nrer compured calling can a second","page_num":"0","par_num":"0","top":"0.1951219515547178","width":"0.08866277654120269","block_num":"0","word_num":"0","left":"0.514534888937681"},{"line_num":"0","height":"0.0175883172991933","block_num":"0","top":"0.18815330979979739","conf":"1","page_num":"0","text":"Fixed - canManageAiReports extracted as a shared","width":"0.11482557337334798","level":"0","word_num":"0","left":"0.620639539097222","par_num":"0"},{"block_num":"0","level":"0","height":"0.017421602252187474","par_num":"0","conf":"1","top":"0.20557491298540453","width":"0.023255812360885253","word_num":"0","text":"computed","page_num":"0","left":"0.6220930244397125","line_num":"0"},{"word_num":"0","height":"0.017421602252187585","page_num":"0","text":"time","level":"0","conf":"1","left":"0.5145348842644298","line_num":"0","width":"0.011627906180442626","par_num":"0","block_num":"0","top":"0.20557491302895847"},{"par_num":"0","block_num":"0","width":"0.08284883296236079","line_num":"0","text":"trackInterest endpoint missing rate","page_num":"0","height":"0.017746694160230114","top":"0.23344947777831704","word_num":"0","left":"0.5159883762736059","level":"0","conf":"1"},{"width":"0.015988370205493596","word_num":"0","page_num":"0","line_num":"0","block_num":"0","left":"0.5145348854641136","level":"0","height":"0.006968640444571461","par_num":"0","top":"0.25435540103206966","conf":"1","text":"limitina"},{"left":"0.6206395358560387","level":"0","line_num":"0","page_num":"0","top":"0.24003189772282119","par_num":"0","conf":"1","height":"0.017807823619203744","text":"Still present (see below)","block_num":"0","width":"0.05523255530824056","word_num":"0"},{"left":"0.5000000013287278","conf":"1","block_num":"0","text":"Remaining issues","level":"0","line_num":"0","width":"0.0479651156892168","word_num":"0","top":"0.31339712947633447","par_num":"0","page_num":"0","height":"0.017613322731030334"},{"left":"0.500000004738088","height":"0.017596652443139016","line_num":"0","top":"0.34843205595226867","width":"0.10319766592472168","word_num":"0","level":"0","par_num":"0","text":". Extra DB query still fires on every page load","page_num":"0","block_num":"0","conf":"0.5"},{"conf":"1","height":"0.017632773428252313","left":"0.4999999984771364","level":"0","line_num":"0","page_num":"0","par_num":"0","block_num":"0","text":"app/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297","top":"0.3763066205923885","width":"0.24709301806510764","word_num":"0"},{"text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).","line_num":"0","left":"0.502907000810188","level":"0","top":"0.4178628388386477","page_num":"0","width":"0.2194767201200445","height":"0.010708589112739642","block_num":"0","conf":"1","word_num":"0","par_num":"0"},{"width":"0.24127905419532292","level":"0","line_num":"0","left":"0.5000000072941873","page_num":"0","height":"0.017741137904603743","word_num":"0","par_num":"0","conf":"0.5","top":"0.45993031375224214","block_num":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first"},{"page_num":"0","top":"0.4773519162821602","height":"0.013937282410154683","block_num":"0","line_num":"0","par_num":"0","width":"0.25000000000000006","conf":"1","word_num":"0","level":"0","left":"0.49999999992732563","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7"},{"conf":"1","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","level":"0","par_num":"0","left":"0.5014534918272605","top":"0.4912280702286602","page_num":"0","height":"0.020967051553193783","line_num":"0","block_num":"0","width":"0.24854649888708236","word_num":"0"},{"text":"ISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as the","line_num":"0","page_num":"0","top":"0.5119617223575448","width":"0.22819764563377865","level":"0","conf":"0.5","height":"0.010686361048210191","par_num":"0","word_num":"0","left":"0.5000000058253165","block_num":"0"},{"word_num":"0","width":"0.08720930586469933","conf":"0.5","left":"0.5014534853695082","line_num":"0","par_num":"0","top":"0.5606060607314207","level":"0","text":"uaaested mitiaations (in order of effort):","page_num":"0","height":"0.0073381900026847635","block_num":"0"},{"word_num":"0","level":"0","conf":"0.5","par_num":"0","page_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","left":"0.5014534869745092","top":"0.5853269537480064","line_num":"0","block_num":"0","width":"0.17587209255137348","height":"0.01754385964912286"},{"left":"0.5058139713227934","page_num":"0","conf":"0.5","line_num":"0","block_num":"0","par_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","top":"0.6027874571526035","level":"0","word_num":"0","height":"0.01762721565161396","width":"0.23982555308240527"},{"text":"transtorm() Is callea multiple times in a single response.","page_num":"0","conf":"0.5","block_num":"0","width":"0.12354649888708236","word_num":"0","top":"0.6267942582824599","line_num":"0","left":"0.5072674434499944","level":"0","height":"0.007352082923268499","par_num":"0"},{"top":"0.6376306621143244","width":"0.2558139435788419","left":"0.500000009904769","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/","par_num":"0","page_num":"0","line_num":"0","level":"0","height":"0.017421602252187474","conf":"1","word_num":"0","block_num":"0"},{"level":"0","word_num":"0","top":"0.6618819776714514","block_num":"0","line_num":"0","page_num":"0","height":"0.0071770334928229484","par_num":"0","left":"0.5058139616289973","text":"deletion pipeline — eliminates the querv entirelv.","width":"0.10465115689216775","conf":"1"},{"word_num":"0","par_num":"0","conf":"0.5","left":"0.5000000014415185","level":"0","page_num":"0","line_num":"0","text":"Fix this →","width":"0.021802323929806966","height":"0.013937282410154683","top":"0.6864111496195452","block_num":"0"},{"left":"0.4985465185881723","top":"0.742160278657975","conf":"1","par_num":"0","word_num":"0","height":"0.017807823619203744","line_num":"0","width":"0.15552324944354118","text":"2. trackInterest endpoint has no rate limit or idempotency guard","level":"0","page_num":"0","block_num":"0"},{"conf":"1","level":"0","width":"0.22824831211820562","line_num":"0","block_num":"0","left":"0.49996836441857584","par_num":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","word_num":"0","top":"0.7722896015036981","height":"0.015257937295965363","page_num":"0"},{"height":"0.006968641205077342","left":"0.4999999995712994","par_num":"0","block_num":"0","level":"0","page_num":"0","line_num":"0","width":"0.02470930332833149","top":"0.7944250870834626","conf":"0.5","word_num":"0","text":"pi.php:282"},{"word_num":"0","level":"0","par_num":"0","left":"0.5029069986857431","page_num":"0","conf":"0.5","block_num":"0","height":"0.021122649525911585","width":"0.14680230363886415","line_num":"0","text":"public function trackInterest(Request srequest): JsonResponse","top":"0.8325358852423792"},{"block_num":"0","line_num":"0","width":"0.23255810839064572","level":"0","page_num":"0","par_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","conf":"0.5","height":"0.0071770334928229484","left":"0.5116279148651706","top":"0.8604465709728868","word_num":"0"},{"level":"0","height":"0.010647460414272003","line_num":"0","page_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","left":"0.500000019045948","width":"0.25290696164394944","par_num":"0","word_num":"0","conf":"1","block_num":"0","top":"0.9266347687970263"},{"par_num":"0","conf":"1","left":"0.4999760266255957","level":"0","height":"0.021842351180324515","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","top":"0.9385561758665191","line_num":"0","width":"0.2442339836282933","word_num":"0","page_num":"0","block_num":"0"},{"text":"racking noise in analytics.","page_num":"0","word_num":"0","conf":"1","par_num":"0","block_num":"0","line_num":"0","left":"0.5000000013824143","height":"0.017421602252187474","top":"0.958188153403523","level":"0","width":"0.05668604627568663"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4899
|
NULL
|
NULL
|
|
89222
|
iTerm2Shell Edit ViewSessionScripts|ProfilesWindow iTerm2Shell Edit ViewSessionScripts|ProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% CMon 27 Apr 18:58:12181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-629429422133+++APP++++++++....
|
[{"level":"0","par_num": [{"level":"0","par_num":"0","left":"0.033430232229750306","top":"0.006976744645528443","page_num":"0","word_num":"0","height":"0.013953487608167836","block_num":"0","width":"0.03633720874786377","text":"iTerm2","conf":"1","line_num":"0"},{"block_num":"0","level":"0","line_num":"0","height":"0.016666666666666607","left":"0.082848839092899","text":"Shell Edit View","top":"0.004444444444444473","word_num":"0","width":"0.08720929887559678","page_num":"0","conf":"0.5","par_num":"0"},{"level":"0","page_num":"0","par_num":"0","text":"Session","height":"0.013953487608167836","left":"0.18168604790258086","block_num":"0","conf":"1","line_num":"0","top":"0.0069767444517300214","width":"0.034883719020419646","word_num":"0"},{"left":"0.2296406737588108","level":"0","word_num":"0","width":"0.031997723049587645","block_num":"0","line_num":"0","page_num":"0","top":"0.006914945827753649","height":"0.014077084859212219","par_num":"0","text":"Scripts|","conf":"0.5"},{"text":"Profiles","height":"0.014200344085693373","level":"0","line_num":"0","page_num":"0","top":"0.006853316216056116","word_num":"0","left":"0.27323585639556563","block_num":"0","width":"0.033470148510403086","par_num":"0","conf":"1"},{"word_num":"0","level":"0","height":"0.013953487608167836","line_num":"0","left":"0.31831395315998284","par_num":"0","page_num":"0","text":"Window","conf":"1","top":"0.006976744645528443","block_num":"0","width":"0.03633720874786378"},{"par_num":"0","conf":"1","page_num":"0","top":"0.006976744474985863","height":"0.013953487608167836","line_num":"0","left":"0.36773255878967304","block_num":"0","text":"Help","width":"0.02034883631600276","word_num":"0","level":"0"},{"height":"0.014496124055650483","left":"0.47529069803997187","line_num":"0","conf":"1","top":"0.03666666662527551","level":"0","block_num":"0","page_num":"0","text":"APP (-zsh)","width":"0.049418603049384224","par_num":"0","word_num":"0"},{"text":"DOCKER","width":"0.03488371902041965","block_num":"0","par_num":"0","left":"0.050872094365759145","conf":"1","top":"0.06511627921917185","height":"0.013953487608167947","word_num":"0","level":"0","page_num":"0","line_num":"0"},{"level":"0","par_num":"0","width":"0.01017441815800138","conf":"0.30000001192092896","word_num":"0","left":"0.14680232584832487","height":"0.011627907223171752","line_num":"0","top":"0.06744186045818157","block_num":"0","page_num":"0","text":"881"},{"conf":"1","level":"0","left":"0.2107558135640147","line_num":"0","height":"0.011627906163533597","top":"0.0674418609589309","par_num":"0","word_num":"0","text":"DEV (docker)","page_num":"0","block_num":"0","width":"0.05087209277682833"},{"conf":"0.30000001192092896","block_num":"0","level":"0","word_num":"0","top":"0.06744186045818157","width":"0.014534884028964579","line_num":"0","left":"0.30813953472970373","text":"₴82","height":"0.011627907223171752","page_num":"0","par_num":"0"},{"width":"0.040697672632005466","block_num":"0","par_num":"0","text":"APP (-zsh)","level":"0","line_num":"0","height":"0.011627906163533597","left":"0.3793604658741403","page_num":"0","top":"0.0674418609589309","conf":"0.5","word_num":"0"},{"line_num":"0","page_num":"0","par_num":"0","height":"0.013953487608167947","left":"0.47238372128431727","level":"0","word_num":"0","top":"0.06511627921917185","conf":"0.30000001192092896","text":"83","block_num":"0","width":"0.013081394301520444"},{"line_num":"0","level":"0","block_num":"0","text":"screenpipe\"","conf":"0.5","page_num":"0","par_num":"0","left":"0.5348576004786272","width":"0.048017358779907204","word_num":"0","height":"0.014420836766560807","top":"0.0648826047097042"},{"height":"0.016279069052802186","text":"front-end/src/components/AiReports/Manage/__tests_","line_num":"0","conf":"1","par_num":"0","level":"0","top":"0.09069767473716484","width":"0.2790697521633572","left":"0.008720942522972407","block_num":"0","page_num":"0","word_num":"0"},{"word_num":"0","text":"_/ManageAiReports.spec.js","width":"0.14098837110731333","level":"0","left":"0.2863372117089401","height":"0.01860465155707458","line_num":"0","page_num":"0","conf":"1","par_num":"0","top":"0.0906976745315402","block_num":"0"},{"text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","left":"0.00872094763883828","height":"0.016279069052802186","level":"0","width":"0.44622090657552077","line_num":"0","word_num":"0","par_num":"0","block_num":"0","top":"0.1093023258515059","conf":"1","page_num":"0"},{"width":"0.5232557932535807","word_num":"0","left":"0.008720945815069964","page_num":"0","conf":"1","par_num":"0","line_num":"0","block_num":"0","level":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","height":"0.016279069052802186","top":"0.13023255838057568"},{"conf":"1","par_num":"0","height":"0.018604651557074692","block_num":"0","page_num":"0","left":"0.00872092909910249","top":"0.1488372093377417","level":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","line_num":"0","width":"0.6002906799316406","word_num":"0"},{"left":"0.008720941327598099","height":"0.018604651557074692","level":"0","block_num":"0","line_num":"0","width":"0.26308138105604384","top":"0.16976744197340066","page_num":"0","par_num":"0","text":"front-end/src/components/AiReports/constants.js","word_num":"0","conf":"1"},{"level":"0","par_num":"0","word_num":"0","left":"0.008720944627202777","block_num":"0","line_num":"0","page_num":"0","top":"0.18837209251603637","height":"0.01860465155707458","conf":"1","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","width":"0.4127906799316406"},{"conf":"1","left":"0.008720936305477206","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","level":"0","block_num":"0","top":"0.20930232526797432","height":"0.01860465155707458","line_num":"0","width":"0.4069767422146267","page_num":"0","word_num":"0"},{"text":"front-end/src/components/Settings/shared/FormElements/Field.less","page_num":"0","line_num":"0","par_num":"0","conf":"1","word_num":"0","height":"0.016279069052802186","level":"0","width":"0.35755814446343315","top":"0.2302325584096454","left":"0.00872093223776006","block_num":"0"},{"height":"0.018604651557074692","top":"0.2488372089889045","par_num":"0","width":"0.35174418555365666","line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","word_num":"0","left":"0.008720934875787774","conf":"1","page_num":"0","block_num":"0","level":"0"},{"par_num":"0","conf":"1","left":"0.008720937779436768","top":"0.26976744154704413","height":"0.01860465155707458","level":"0","page_num":"0","line_num":"0","block_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","width":"0.4854651133219401","word_num":"0"},{"block_num":"0","left":"0.008720939940422036","level":"0","line_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","conf":"1","top":"0.29069767465964547","word_num":"0","width":"0.3793604532877604","par_num":"0","page_num":"0","height":"0.016279069052802075"},{"word_num":"0","par_num":"0","width":"0.3851743910047743","height":"0.01860465155707458","block_num":"0","left":"0.008720948847176679","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","level":"0","conf":"1","top":"0.3093023252679743","page_num":"0","line_num":"0"},{"width":"0.27180230882432727","word_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","page_num":"0","top":"0.3325581400286983","level":"0","left":"0.01017442358565618","height":"0.011627906163533597","block_num":"0","conf":"1","par_num":"0","line_num":"0"},{"level":"0","text":"__mocks__/nudges.js","word_num":"0","conf":"0.5","width":"0.1061046494377984","height":"0.013953487608167836","par_num":"0","block_num":"0","left":"0.2805232549080388","line_num":"0","page_num":"0","top":"0.3325581400718851"},{"text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","top":"0.3488372088726255","word_num":"0","par_num":"0","line_num":"0","height":"0.01860465155707458","width":"0.4622092776828342","conf":"1","level":"0","block_num":"0","page_num":"0","left":"0.008720944988524652"},{"left":"0.008720943423469624","word_num":"0","block_num":"0","width":"0.3183139377170139","conf":"1","page_num":"0","height":"0.01860465155707458","top":"0.3697674416633232","level":"0","par_num":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_."},{"left":"0.008720939432180469","word_num":"0","page_num":"0","top":"0.3883720938223495","width":"0.31540696885850694","conf":"1","line_num":"0","level":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","height":"0.020930230882432732","block_num":"0"},{"conf":"1","width":"0.2790697521633572","line_num":"0","level":"0","block_num":"0","height":"0.018604651557074692","page_num":"0","par_num":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","word_num":"0","top":"0.36976744175634635","left":"0.32994186531367026"},{"par_num":"0","top":"0.3883720925160363","page_num":"0","word_num":"0","block_num":"0","line_num":"0","conf":"1","height":"0.01860465155707458","level":"0","left":"0.329941858342544","text":"/__snapshots__/saved-search-modal.output.html","width":"0.25145348442925347"},{"text":"front-end/src/components/shared/SavedSearchModal/config.js","top":"0.4093023252679743","page_num":"0","level":"0","word_num":"0","block_num":"0","height":"0.018604651557074692","width":"0.32412789662679037","par_num":"0","line_num":"0","conf":"1","left":"0.008720939459133782"},{"width":"0.36773253546820744","left":"0.008720945245547382","word_num":"0","conf":"1","block_num":"0","height":"0.016279069052802075","page_num":"0","par_num":"0","level":"0","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","top":"0.4302325583805757"},{"top":"0.4488372090276642","level":"0","conf":"1","width":"0.4854651133219401","left":"0.008720939802207934","par_num":"0","page_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","height":"0.01860465155707458","block_num":"0","line_num":"0"},{"conf":"1","level":"0","left":"0.007267450825504717","line_num":"0","page_num":"0","block_num":"0","par_num":"0","height":"0.016279069052802075","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","width":"0.49709298875596786","word_num":"0","top":"0.4697674423340641"},{"line_num":"0","par_num":"0","block_num":"0","height":"0.016279069052802186","left":"0.008720936961676194","page_num":"0","top":"0.49069767467902525","width":"0.245639525519477","word_num":"0","level":"0","conf":"1","text":"tests/Feature/NudgeProcessingFeatureTest.php"},{"width":"0.3241278966267904","page_num":"0","left":"0.008720940809666643","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","level":"0","conf":"1","block_num":"0","par_num":"0","height":"0.01860465155707458","top":"0.509302325306734","word_num":"0","line_num":"0"},{"left":"0.008720944263830709","level":"0","line_num":"0","page_num":"0","block_num":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","width":"0.4127906799316406","word_num":"0","par_num":"0","top":"0.5302325584096454","height":"0.016279069052802186","conf":"1"},{"left":"0.007267443399245208","line_num":"0","height":"0.018604651557074692","page_num":"0","block_num":"0","level":"0","par_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","width":"0.3808139377170139","word_num":"0","conf":"1","top":"0.548837209182703"},{"word_num":"0","height":"0.018604651557074692","page_num":"0","block_num":"0","width":"0.26308138105604384","conf":"1","level":"0","line_num":"0","par_num":"0","top":"0.5697674415470441","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","left":"0.00872094066747218"},{"line_num":"0","level":"0","top":"0.5906976748922036","height":"0.016279069052802297","par_num":"0","conf":"1","width":"0.2790697521633572","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","block_num":"0","word_num":"0","left":"0.008720935081112163","page_num":"0"},{"level":"0","height":"0.018604651557074692","par_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","top":"0.6093023252912301","left":"0.008720935288035392","line_num":"0","word_num":"0","width":"0.40697674221462665","page_num":"0","conf":"1","block_num":"0"},{"par_num":"0","line_num":"0","word_num":"0","top":"0.630232558174951","page_num":"0","height":"0.018604651557074692","block_num":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","width":"0.3735465155707466","conf":"1","left":"0.008720932494423177","level":"0"},{"conf":"1","height":"0.018604651557074692","top":"0.6488372087951062","block_num":"0","word_num":"0","level":"0","left":"0.008720925345802873","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","line_num":"0","page_num":"0","width":"0.3575581444634332","par_num":"0"},{"conf":"1","word_num":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","par_num":"0","height":"0.023669251335991737","left":"0.008720930055878897","top":"0.6674418601201179","line_num":"0","width":"0.30668604109022357","block_num":"0","page_num":"0","level":"0"},{"height":"0.053333333333333344","level":"0","line_num":"0","par_num":"0","conf":"0.30000001192092896","text":"rtarest. php","page_num":"0","word_num":"0","width":"0.06666666666666665","top":"0.64","left":"0.30000000013888894","block_num":"0"},{"conf":"1","width":"0.45784882439507385","top":"0.6906976746596454","par_num":"0","left":"0.008720943324406762","level":"0","word_num":"0","block_num":"0","height":"0.016279069052802186","line_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","page_num":"0"},{"block_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","word_num":"0","height":"0.019018088446723147","conf":"1","line_num":"0","page_num":"0","left":"0.008720919944754178","par_num":"0","top":"0.7088888885350363","width":"0.43459303114149306","level":"0"},{"conf":"0.30000001192092896","height":"0.046666666666666634","level":"0","line_num":"0","block_num":"0","par_num":"0","top":"0.6866666667777778","word_num":"0","width":"0.14583333333333337","page_num":"0","left":"0.3208333309027779","text":"fonitrn/esComedad.ron,.php"},{"height":"0.01666666666666672","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","top":"0.73","page_num":"0","width":"0.4186046600341797","line_num":"0","left":"0.008720931874829398","level":"0","block_num":"0","conf":"1","par_num":"0","word_num":"0"},{"height":"0.0189405674404568","level":"0","word_num":"0","top":"0.7488372099361025","page_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","width":"0.5188953399658203","conf":"1","left":"0.008720944031500208","block_num":"0","par_num":"0","line_num":"0"},{"left":"0.00872094292957427","height":"0.01912144766913515","level":"0","conf":"1","line_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","top":"0.769767441714528","width":"0.556686019897461","word_num":"0","page_num":"0","par_num":"0","block_num":"0"},{"par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","width":"0.5232557932535807","conf":"1","word_num":"0","top":"0.7883720927330905","level":"0","page_num":"0","height":"0.018604651557074692","left":"0.008720950932465657","block_num":"0","line_num":"0"},{"level":"0","block_num":"0","conf":"1","line_num":"0","par_num":"0","top":"0.8088888884187573","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","width":"0.5130814022488065","word_num":"0","page_num":"0","left":"0.008720932168461499","height":"0.019018088446723147"},{"left":"0.00872093066119501","page_num":"0","height":"0.018888888888888955","par_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","top":"0.83","width":"0.5901162889268663","line_num":"0","word_num":"0","block_num":"0","conf":"1","level":"0"},{"page_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","level":"0","conf":"1","line_num":"0","height":"0.0189405674404568","top":"0.8488372098663348","par_num":"0","width":"0.5901162889268663","left":"0.00872093066119501","block_num":"0","word_num":"0"},{"page_num":"0","word_num":"0","level":"0","par_num":"0","top":"0.8697674421015059","conf":"1","height":"0.016279069052802186","width":"0.6017441643608942","block_num":"0","line_num":"0","left":"0.00872095191817562","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache"},{"conf":"1","height":"0.016279069052802186","block_num":"0","level":"0","par_num":"0","width":"0.5188953399658204","page_num":"0","line_num":"0","word_num":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","left":"0.008720941480167237","top":"0.8906976746596453"},{"text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","top":"0.9088888883993775","line_num":"0","page_num":"0","level":"0","block_num":"0","par_num":"0","height":"0.019018088446723036","conf":"1","width":"0.5130813598632812","word_num":"0","left":"0.008720965718114076"},{"conf":"1","par_num":"0","width":"0.4796511332194011","word_num":"0","top":"0.93","level":"0","left":"0.008720959803854693","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","page_num":"0","block_num":"0","height":"0.016666666666666607","line_num":"0"},{"text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","width":"0.4636627621120876","block_num":"0","conf":"1","level":"0","line_num":"0","top":"0.9488372099361024","left":"0.008720958818144888","height":"0.0189405674404568","word_num":"0","par_num":"0","page_num":"0"},{"block_num":"0","par_num":"0","level":"0","width":"0.5348837110731336","line_num":"0","left":"0.004360485232488721","conf":"1","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","word_num":"0","height":"0.02144702911376961","page_num":"0","top":"0.9674418601201177"},{"block_num":"0","left":"0.6250000001737047","line_num":"0","conf":"0.30000001192092896","par_num":"0","text":"O 84","level":"0","width":"0.024709301524692084","word_num":"0","top":"0.06511627927731145","page_num":"0","height":"0.013953487608167836"},{"top":"0.06744186098800065","page_num":"0","line_num":"0","par_num":"0","height":"0.011627906163533597","text":"-zsh","left":"0.7194767443728021","width":"0.017441859510209823","level":"0","conf":"0.5","block_num":"0","word_num":"0"},{"level":"0","height":"0.011627906163533597","line_num":"0","page_num":"0","width":"0.01453488270441694","conf":"0.30000001192092896","word_num":"0","top":"0.0674418609589309","left":"0.7994186049777334","text":"885","par_num":"0","block_num":"0"},{"par_num":"0","word_num":"0","top":"0.00666666666666671","left":"0.8168604676103026","block_num":"0","text":"100% C","level":"0","width":"0.042151159710354325","height":"0.014444444444444371","conf":"0.30000001192092896","line_num":"0","page_num":"0"},{"top":"0.00666666666666671","left":"0.8909883701829538","level":"0","line_num":"0","page_num":"0","text":"Mon 27 Apr 18:58:12","height":"0.014444444444444371","width":"0.09738372166951492","par_num":"0","block_num":"0","word_num":"0","conf":"1"},{"level":"0","par_num":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","text":"181","height":"0.013953487608167836","top":"0.034883721195916095","width":"0.020348836316002705","page_num":"0","left":"0.9723837216312426","word_num":"0"},{"width":"0.11046511332194009","text":"ec2-user@ip-10-30-95-134:...","block_num":"0","page_num":"0","level":"0","word_num":"0","height":"0.011627906163533597","left":"0.8372093056452314","line_num":"0","par_num":"0","top":"0.06744186083296189","conf":"1"},{"level":"0","block_num":"0","height":"0.013953487608167836","width":"0.024709301524692084","word_num":"0","conf":"0.30000001192092896","left":"0.9534883728710178","par_num":"0","top":"0.06511627933545094","text":"• ₴6|","page_num":"0","line_num":"0"},{"line_num":"0","page_num":"0","text":"66","conf":"1","block_num":"0","height":"0.016279069052802297","left":"0.6511627904225332","par_num":"0","top":"0.09069767487282365","width":"0.014534884028964523","level":"0","word_num":"0"},{"height":"0.011627906163533486","left":"0.668604651975057","width":"0.024709301524692084","par_num":"0","line_num":"0","page_num":"0","level":"0","block_num":"0","word_num":"0","text":"++++","top":"0.09302325610427975","conf":"1"},{"text":"23 +-","block_num":"0","height":"0.01669250594245064","left":"0.6511627914915763","conf":"1","level":"0","top":"0.1088888889538393","line_num":"0","word_num":"0","page_num":"0","par_num":"0","width":"0.03052325513627796"},{"left":"0.6511627910605823","block_num":"0","line_num":"0","top":"0.13023255829336633","word_num":"0","text":"20","par_num":"0","height":"0.016279069052802186","page_num":"0","conf":"1","width":"0.01453488270441694","level":"0"},{"line_num":"0","width":"0.013081394301520444","block_num":"0","top":"0.13255813982521003","height":"0.011627906163533486","page_num":"0","par_num":"0","word_num":"0","left":"0.6686046519044723","level":"0","text":"+-","conf":"0.5"},{"conf":"1","left":"0.658430232751938","line_num":"0","page_num":"0","par_num":"0","block_num":"0","top":"0.15116279116279063","width":"0.007267441618217019","level":"0","height":"0.013953487906976814","text":"4","word_num":"0"},{"block_num":"0","left":"0.6686046510880266","level":"0","word_num":"0","conf":"0.30000001192092896","text":"+-","height":"0.011627906163533486","par_num":"0","top":"0.15348837269342708","page_num":"0","width":"0.01162790722317164","line_num":"0"},{"par_num":"0","page_num":"0","height":"0.013953487608167947","block_num":"0","conf":"0.30000001192092896","left":"0.6584302333351134","line_num":"0","width":"0.01889534791310632","word_num":"0","top":"0.16976744216490824","text":"7 +","level":"0"},{"text":"1 +","line_num":"0","word_num":"0","level":"0","block_num":"0","width":"0.01889534791310632","height":"0.013953487608167836","left":"0.6584302333351134","top":"0.19069767472304788","conf":"0.5","page_num":"0","par_num":"0"},{"word_num":"0","top":"0.20930232582243613","height":"0.016279069052802186","page_num":"0","block_num":"0","width":"0.015988371107313437","left":"0.6511627914570022","level":"0","text":"24","par_num":"0","line_num":"0","conf":"1"},{"page_num":"0","line_num":"0","level":"0","par_num":"0","block_num":"0","width":"0.010174418158001464","height":"0.009302325778537401","text":"+-","top":"0.21395348820707683","left":"0.6700581396855341","word_num":"0","conf":"0.5"},{"height":"0.013953487608167947","left":"0.6511627910242451","line_num":"0","word_num":"0","block_num":"0","conf":"1","top":"0.23023255863777647","text":"10","par_num":"0","page_num":"0","width":"0.01453488270441694","level":"0"},{"block_num":"0","height":"0.01671834627787272","level":"0","par_num":"0","top":"0.2488372092900042","width":"0.01889534791310632","word_num":"0","left":"0.6584302327537183","conf":"0.5","text":"5 +","line_num":"0","page_num":"0"},{"level":"0","par_num":"0","left":"0.646802325807255","line_num":"0","block_num":"0","conf":"1","text":"170","top":"0.26976744235870675","width":"0.01889534791310621","word_num":"0","height":"0.013953487608167836","page_num":"0"},{"conf":"1","left":"0.651162790963683","block_num":"0","line_num":"0","level":"0","text":"18","height":"0.013953487608167836","top":"0.2906976748780866","width":"0.01453488270441694","word_num":"0","page_num":"0","par_num":"0"},{"height":"0.016279069052802297","page_num":"0","width":"0.01453488270441694","word_num":"0","conf":"1","level":"0","text":"16","top":"0.30930232621003295","block_num":"0","par_num":"0","left":"0.651162791205931","line_num":"0"},{"width":"0.013081394301520444","level":"0","word_num":"0","top":"0.31395348897249686","conf":"0.30000001192092896","block_num":"0","left":"0.6686046517106738","height":"0.011627906163533486","line_num":"0","page_num":"0","par_num":"0","text":"+-"},{"top":"0.3488372088726255","conf":"1","line_num":"0","height":"0.01860465155707458","block_num":"0","left":"0.6482558143219299","page_num":"0","level":"0","par_num":"0","text":"62","word_num":"0","width":"0.017441859510209934"},{"top":"0.36976744235870673","word_num":"0","block_num":"0","text":"942","height":"0.013953487608167836","level":"0","left":"0.646802325807255","par_num":"0","width":"0.01889534791310621","page_num":"0","conf":"1","line_num":"0"},{"left":"0.646802325807255","page_num":"0","conf":"1","par_num":"0","word_num":"0","height":"0.013953487608167947","width":"0.01889534791310621","block_num":"0","level":"0","text":"942","top":"0.39069767491684626","line_num":"0"},{"par_num":"0","top":"0.4093023256673973","height":"0.016279069052802186","width":"0.01453488270441694","word_num":"0","line_num":"0","level":"0","text":"21","page_num":"0","block_num":"0","conf":"1","left":"0.6511627910605823"},{"par_num":"0","width":"0.013081395626068137","word_num":"0","top":"0.4302325580788877","text":"33","left":"0.6526162789947422","height":"0.013953488667805991","block_num":"0","level":"0","page_num":"0","line_num":"0","conf":"1"},{"top":"0.3534883723833495","width":"0.017441859510209823","line_num":"0","left":"0.6700581403030346","block_num":"0","word_num":"0","level":"0","conf":"1","page_num":"0","par_num":"0","height":"0.011627906163533486","text":"+++"},{"left":"0.8517441850662857","top":"0.14651162688694752","width":"0.1395348866780598","word_num":"0","line_num":"0","page_num":"0","par_num":"0","text":"APP","height":"0.08372093200683584","level":"0","block_num":"0","conf":"0.30000001192092896"},{"level":"0","word_num":"0","line_num":"0","page_num":"0","top":"0.4511627900808629","left":"0.6686046489065398","conf":"0.30000001192092896","block_num":"0","par_num":"0","text":"++++","width":"0.013081399599711108","height":"0.0813953484429254"},{"conf":"1","width":"0.011627907223171752","height":"0.013953488667805991","level":"0","line_num":"0","left":"0.6700581393147707","par_num":"0","text":"++","block_num":"0","word_num":"0","page_num":"0","top":"0.5325581392707482"},{"line_num":"0","top":"0.6116279067372514","conf":"0.30000001192092896","level":"0","left":"0.6700581393235938","block_num":"0","par_num":"0","page_num":"0","text":"++.","word_num":"0","height":"0.01162790722317164","width":"0.013081395626068137"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3843
|
NULL
|
NULL
|
|
89223
|
HomeActivityFllesLaterMoreSlackVIewMistonWindowHel HomeActivityFllesLaterMoreSlackVIewMistonWindowHelpJiminny…..@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsic backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga mlatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages. Nikolay YankovP. Galya Dimitrova MA. Aneliya AngelovawYachl Vasiler.Aneliya Angelova,..C. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela Dureva#::AnndS Jira Cloud® ToastQ Describe what you are looking forNikolay Yankov• MessagesAdd canvaur FilesFriday. April 24th~доколкого виждам, тази трлова да с океи иконата|J1minny/app/publ1c/J1m1nny_c.pngLukas Kovalik 2:41PMздрастище го погледнаNikolay Yankov 2:41 PMNikolay Yankov 7:44 PMЛукас, за понеделник, виж коментара от Claudehttps://github.com/jiminny/app/pull/11998Today~Lukas Kovalik 10:20 AMнаправих една малка промяна в краина сметка, комитнах гоNikalnv Vankou 40.00 AMlukas Kovalik 10-20 AMtoвa зa favicon има ли си тикетNikolay Yankov 10:21 AMсамо ми писаако искаш си направи.лаже по-лобое ла имаLukas Kovalik 10.21 AMхубаво ла напоавим, лоста време ми отнеме и май тоябва с Вес така иначе ла се видиот S3 изглежда идваNikolay Yankov 10:22 AMинтересноNikolay Yankov 12:32 PMПуснах пак ревю, я виж какво е написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?трябва ли да го вкарваме в кешLukas Kovalik 6.56 PMНики погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоустановим. Това може да е по-бавно, но си e edge case.защо въобще е в UserTransformer, той се зарежда при много други случаи и реално полето ни трябва само за promotion страницане е ли по-лобое ла го четем от отлелен endoointi+ АalQ4@ 6 10%4 & Mon27 Apr 18:58:42*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yresponsiveadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can( a seconaFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs@:lThe frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"line_num":"0","text": [{"line_num":"0","text":"Home","top":"0.13588850153592147","height":"0.013937282410154683","level":"0","word_num":"0","page_num":"0","conf":"1","left":"0.0058139540803213065","width":"0.011627906180442649","block_num":"0","par_num":"0"},{"left":"0.004360465697692593","conf":"1","level":"0","block_num":"0","par_num":"0","text":"Activity","page_num":"0","word_num":"0","height":"0.017421602252187585","line_num":"0","top":"0.24390243911780862","width":"0.014534883042599294"},{"top":"0.29965156806670534","width":"0.00872092995237797","height":"0.017421602252187474","level":"0","word_num":"0","page_num":"0","text":"Flles","line_num":"0","par_num":"0","left":"0.0072674419278807864","block_num":"0","conf":"0.5"},{"par_num":"0","text":"Later","top":"0.3519163764290747","height":"0.017421602252187474","left":"0.005813953538407517","line_num":"0","width":"0.010174418383456292","page_num":"0","word_num":"0","level":"0","block_num":"0","conf":"1"},{"page_num":"0","text":"More","conf":"1","top":"0.407665505020242","block_num":"0","line_num":"0","par_num":"0","left":"0.0058139540803213065","level":"0","width":"0.011627906180442649","word_num":"0","height":"0.013937282410154683"},{"par_num":"0","page_num":"0","text":"Slack","top":"-0.00000000002272559918026218","conf":"1","line_num":"0","height":"0.017421602252187585","width":"0.01453488304259929","word_num":"0","left":"0.015988372286839896","level":"0","block_num":"0"},{"block_num":"0","text":"VIew","word_num":"0","left":"0.06395348841001604","top":"0.00696864102015915","page_num":"0","height":"0.006968641205077342","line_num":"0","width":"0.010174418383456299","conf":"0.30000001192092896","level":"0","par_num":"0"},{"par_num":"0","word_num":"0","level":"0","width":"0.01598837020549368","text":"Miston","conf":"0.30000001192092896","top":"0.006968641450188162","block_num":"0","page_num":"0","height":"0.006968640444571461","left":"0.09302325755713681","line_num":"0"},{"line_num":"0","level":"0","page_num":"0","top":"-0.00000000002272559918026218","block_num":"0","par_num":"0","width":"0.01744185990475594","left":"0.11482558143328095","word_num":"0","conf":"1","height":"0.017421602252187585","text":"Window"},{"block_num":"0","conf":"1","page_num":"0","left":"0.13808139533831065","text":"Help","top":"-0.00000000002272559918026218","width":"0.010174418383456285","line_num":"0","word_num":"0","height":"0.017421602252187585","par_num":"0","level":"0"},{"width":"0.030523254516276906","left":"0.027616280227326647","top":"0.06271777054406291","height":"0.020905922094220375","level":"0","page_num":"0","par_num":"0","text":"Jiminny…..","word_num":"0","line_num":"0","block_num":"0","conf":"0.5"},{"line_num":"0","block_num":"0","conf":"0.5","par_num":"0","left":"0.03343023162082732","width":"0.04941860158392724","text":"@ jiminny-x-integrati","level":"0","page_num":"0","word_num":"0","height":"0.010452960286604362","top":"0.09407665591941561"},{"level":"0","par_num":"0","width":"0.05377906941353006","line_num":"0","conf":"0.5","text":"& platform-inner-team","top":"0.11483253574621899","word_num":"0","block_num":"0","left":"0.03343023206285708","page_num":"0","height":"0.017571645490290444"},{"height":"0.01754385964912275","block_num":"0","page_num":"0","text":"© Channels","word_num":"0","top":"0.14274322169059017","line_num":"0","left":"0.029069768796061723","conf":"0.30000001192092896","level":"0","par_num":"0","width":"0.029069766085198585"},{"width":"0.03351975248215046","text":"# ai-chapter","word_num":"0","par_num":"0","page_num":"0","height":"0.01843704941550317","block_num":"0","level":"0","line_num":"0","top":"0.16673966325440914","left":"0.0333854731523376","conf":"1"},{"top":"0.18815331079259123","width":"0.021802323929806973","left":"0.033430233468533056","level":"0","page_num":"0","line_num":"0","par_num":"0","word_num":"0","block_num":"0","conf":"0.5","height":"0.01758831577818165","text":"# alerts"},{"par_num":"0","block_num":"0","top":"0.21602787499438603","line_num":"0","text":"ic backend","width":"0.0276162751177524","word_num":"0","height":"0.007257611367501027","left":"0.033430233739572664","page_num":"0","level":"0","conf":"0.30000001192092896"},{"line_num":"0","conf":"0.5","height":"0.017746694160230114","text":"# confusion-clinic","top":"0.23344947777831704","block_num":"0","page_num":"0","width":"0.045058138827060126","word_num":"0","left":"0.033430233663020295","par_num":"0","level":"0"},{"line_num":"0","width":"0.03779069667166852","page_num":"0","top":"0.25757575757575757","word_num":"0","conf":"1","block_num":"0","height":"0.014354066985645897","left":"0.033430233415436834","par_num":"0","text":"# curiosity_lab","level":"0"},{"top":"0.2787456450411536","width":"0.03633720824059019","par_num":"0","level":"0","height":"0.017421602252187585","left":"0.03343023248338709","conf":"1","page_num":"0","line_num":"0","word_num":"0","block_num":"0","text":"# engineering"},{"left":"0.03343023460359518","conf":"0.5","text":"# generall","width":"0.026162789223041938","height":"0.010558546635142552","block_num":"0","par_num":"0","top":"0.3030303029362562","level":"0","word_num":"0","line_num":"0","page_num":"0"},{"height":"0.017699459142852314","block_num":"0","conf":"1","par_num":"0","text":"# infra-changes","width":"0.04069767353382517","page_num":"0","level":"0","left":"0.033430233678823834","top":"0.3237639551848104","line_num":"0","word_num":"0"},{"top":"0.3449477351689121","left":"0.03343023267189024","level":"0","line_num":"0","par_num":"0","page_num":"0","conf":"1","word_num":"0","block_num":"0","width":"0.03343023137843355","height":"0.017421602252187474","text":"# jiminny-bg"},{"conf":"0.30000001192092896","left":"0.03343023160068563","text":"a mlatorm-nckets","width":"0.04360465293234968","word_num":"0","block_num":"0","height":"0.006968641205077342","level":"0","par_num":"0","line_num":"0","top":"0.3728222995949062","page_num":"0"},{"height":"0.01771335206343605","block_num":"0","top":"0.3899521529042582","word_num":"0","conf":"1","level":"0","page_num":"0","par_num":"0","line_num":"0","text":"# product_launches","width":"0.04941860158392724","left":"0.03343023562535342"},{"width":"0.026162789223041945","word_num":"0","line_num":"0","level":"0","text":"# random","left":"0.033430231987316365","conf":"1","height":"0.010452960286604362","page_num":"0","block_num":"0","par_num":"0","top":"0.41463414720861425"},{"page_num":"0","line_num":"0","conf":"1","level":"0","height":"0.014354066985646008","width":"0.02761627765412026","text":"# releases","block_num":"0","par_num":"0","left":"0.033430233971852706","top":"0.43540669856459324","word_num":"0"},{"par_num":"0","width":"0.034883719809511875","word_num":"0","text":"# sofia-office","conf":"1","height":"0.017727244984020007","level":"0","line_num":"0","top":"0.45614035056563407","left":"0.03343023258555416","page_num":"0","block_num":"0"},{"text":"# support","width":"0.027616277654120266","left":"0.033430233969918705","page_num":"0","line_num":"0","height":"0.013937282410154683","block_num":"0","par_num":"0","conf":"0.5","top":"0.48083623672755915","word_num":"0","level":"0"},{"line_num":"0","par_num":"0","height":"0.017568866601971322","block_num":"0","top":"0.5015948961656965","width":"0.03488371980951188","conf":"1","level":"0","page_num":"0","text":"# thank-yous","left":"0.0334302336998952","word_num":"0"},{"width":"0.05523255530824053","word_num":"0","height":"0.017741137904603632","level":"0","top":"0.5223285484012261","page_num":"0","par_num":"0","conf":"0.5","left":"0.033430235379805606","block_num":"0","line_num":"0","text":"# the_people_of jimi..."},{"line_num":"0","par_num":"0","conf":"0.30000001192092896","height":"0.017763365969133194","top":"0.5540069688436597","width":"0.04505813882706014","word_num":"0","level":"0","page_num":"0","block_num":"0","text":"• Direct messages","left":"0.029069768385209225"},{"par_num":"0","text":". Nikolay Yankov","top":"0.5742437870873378","height":"0.022105172870642065","width":"0.04410918722761439","word_num":"0","page_num":"0","conf":"0.5","left":"0.03315112929498593","line_num":"0","block_num":"0","level":"0"},{"conf":"0.30000001192092896","left":"0.033430233466317634","line_num":"0","top":"0.5956937797519628","width":"0.05232557844608388","par_num":"0","word_num":"0","text":"P. Galya Dimitrova M","block_num":"0","page_num":"0","level":"0","height":"0.021030958379474662"},{"text":"A. Aneliya Angelova","word_num":"0","width":"0.047965115689216783","par_num":"0","height":"0.017749473048549347","block_num":"0","conf":"0.5","left":"0.03343023353108929","level":"0","line_num":"0","page_num":"0","top":"0.6202090594836914"},{"text":"wYachl Vasiler.","level":"0","line_num":"0","top":"0.6480836240285853","par_num":"0","left":"0.03343023272637009","height":"0.006968640444571572","word_num":"0","block_num":"0","conf":"0.30000001192092896","page_num":"0","width":"0.034883717273144016"},{"text":"Aneliya Angelova,..","conf":"0.5","left":"0.03343023345119677","par_num":"0","page_num":"0","top":"0.6655052266178086","width":"0.05087209255137342","block_num":"0","word_num":"0","line_num":"0","level":"0","height":"0.017421602252187585"},{"word_num":"0","conf":"0.5","line_num":"0","text":"C. Nikolay Ivanov","height":"0.0177355801279655","par_num":"0","width":"0.04215116196490349","top":"0.6864111500801692","level":"0","left":"0.0334302320269567","page_num":"0","block_num":"0"},{"block_num":"0","conf":"0.5","height":"0.01769668025453308","line_num":"0","text":"R. Nikolay Nikolov","top":"0.710526315793022","width":"0.045058138827060126","page_num":"0","word_num":"0","left":"0.033430233608541776","par_num":"0","level":"0"},{"block_num":"0","conf":"0.30000001192092896","text":"fl. Stefka Stoyanova","level":"0","height":"0.017421602252187585","page_num":"0","left":"0.0334302335307816","top":"0.7317073172101431","width":"0.04796511568921677","line_num":"0","word_num":"0","par_num":"0"},{"height":"0.017721687207381653","line_num":"0","par_num":"0","block_num":"0","conf":"1","word_num":"0","level":"0","left":"0.03343023190749662","page_num":"0","text":"R. Adelina Petrova","top":"0.752613240720201","width":"0.04505813882706013"},{"par_num":"0","left":"0.03343023367505823","word_num":"0","height":"0.01771057317511704","page_num":"0","level":"0","block_num":"0","conf":"0.5","line_num":"0","text":"R. Stoyan Tomov","top":"0.7767145135705419","width":"0.04069767353382516"},{"block_num":"0","height":"0.010452960286604362","text":"( Petko Kashinski","top":"0.8013937287417153","left":"0.0334302366242539","conf":"1","level":"0","page_num":"0","par_num":"0","line_num":"0","word_num":"0","width":"0.043604647859613946"},{"line_num":"0","left":"0.033430233608541776","page_num":"0","block_num":"0","conf":"0.5","text":"88. Mario Georgiev","level":"0","top":"0.8221690590544602","par_num":"0","word_num":"0","height":"0.017552194793068465","width":"0.045058138827060126"},{"height":"0.010566881779088155","top":"0.8466898963487846","level":"0","line_num":"0","page_num":"0","text":"Ss: Todor Stamatov.","word_num":"0","conf":"0.5","left":"0.03343023662617514","block_num":"0","par_num":"0","width":"0.043604647859613946"},{"page_num":"0","top":"0.8675958186090923","left":"0.033430233608541776","line_num":"0","level":"0","word_num":"0","block_num":"0","par_num":"0","width":"0.045058138827060126","height":"0.013937282410154683","conf":"0.5","text":"Pa Gabriela Dureva"},{"conf":"0.30000001192092896","block_num":"0","par_num":"0","height":"0.010452960286604362","level":"0","line_num":"0","text":"#::Annd","word_num":"0","top":"0.8989547046999035","page_num":"0","left":"0.027616278907612524","width":"0.020348835498728648"},{"top":"0.9198606275759968","width":"0.03197674294735524","block_num":"0","page_num":"0","conf":"0.5","height":"0.017421602252187474","par_num":"0","left":"0.03343023298627709","line_num":"0","word_num":"0","level":"0","text":"S Jira Cloud"},{"conf":"0.30000001192092896","line_num":"0","par_num":"0","word_num":"0","height":"0.017766144857452204","block_num":"0","level":"0","width":"0.023255812360885295","page_num":"0","text":"® Toast","left":"0.03343023412519857","top":"0.9407665505780702"},{"conf":"1","block_num":"0","page_num":"0","top":"0.027874564683673886","left":"0.14098837474722473","line_num":"0","height":"0.017579980634236048","par_num":"0","level":"0","word_num":"0","text":"Q Describe what you are looking for","width":"0.07267441648118039"},{"height":"0.021014286570571916","conf":"0.5","line_num":"0","word_num":"0","block_num":"0","page_num":"0","text":"Nikolay Yankov","level":"0","par_num":"0","width":"0.05377906941353007","left":"0.113372094092083","top":"0.06271777048382365"},{"block_num":"0","level":"0","top":"0.10104529652728955","line_num":"0","width":"0.024709300791963637","par_num":"0","left":"0.10465116432315079","text":"• Messages","page_num":"0","height":"0.01059744650857486","conf":"1","word_num":"0"},{"block_num":"0","page_num":"0","level":"0","par_num":"0","line_num":"0","left":"0.1351744195663418","text":"Add canva","width":"0.02906976354883073","word_num":"0","top":"0.1044657097288676","conf":"0.30000001192092896","height":"0.0071770334928229484"},{"height":"0.0071770334928229484","left":"0.17005813961545385","line_num":"0","level":"0","text":"ur Files","top":"0.1044657097288676","par_num":"0","word_num":"0","conf":"0.30000001192092896","block_num":"0","page_num":"0","width":"0.017441858636572022"},{"top":"0.1323763954031456","page_num":"0","width":"0.039244182566379016","block_num":"0","par_num":"0","text":"Friday. April 24th~","word_num":"0","conf":"0.5","line_num":"0","height":"0.010480746888277825","left":"0.2776162829680394","level":"0"},{"level":"0","conf":"0.5","top":"0.1463414633759219","text":"доколкого виждам, тази трлова да с океи иконата","height":"0.006968641205077342","page_num":"0","width":"0.11627907448626579","word_num":"0","line_num":"0","left":"0.11773255559962525","block_num":"0","par_num":"0"},{"text":"|J1minny/app/publ1c/J1m1nny_c.png","height":"0.006968640444571572","left":"0.11773256685545144","conf":"0.30000001192092896","width":"0.07994185102746842","level":"0","page_num":"0","line_num":"0","block_num":"0","top":"0.1637630665372961","word_num":"0","par_num":"0"},{"height":"0.014354066985645897","block_num":"0","conf":"0.5","page_num":"0","left":"0.11627907270469867","level":"0","word_num":"0","top":"0.18102073365231264","par_num":"0","text":"Lukas Kovalik 2:41PM","width":"0.052325578446083876","line_num":"0"},{"level":"0","page_num":"0","word_num":"0","conf":"1","line_num":"0","par_num":"0","block_num":"0","height":"0.006968641205077342","left":"0.11773255845684062","text":"здрасти","width":"0.01889534833583427","top":"0.20557491287597474"},{"text":"ще го погледна","conf":"1","line_num":"0","level":"0","left":"0.11773255904221866","block_num":"0","width":"0.03779069667166851","top":"0.22299651565671696","word_num":"0","page_num":"0","par_num":"0","height":"0.017421602252187474"},{"line_num":"0","text":"Nikolay Yankov 2:41 PM","page_num":"0","level":"0","height":"0.017660559269419895","block_num":"0","left":"0.11773256160608427","par_num":"0","top":"0.24390243908003706","width":"0.053779064340794366","word_num":"0","conf":"1"},{"conf":"1","word_num":"0","level":"0","text":"Nikolay Yankov 7:44 PM","height":"0.014354066985645897","par_num":"0","block_num":"0","width":"0.053779069413530056","left":"0.1177325594371019","line_num":"0","page_num":"0","top":"0.29585326953748003"},{"page_num":"0","par_num":"0","text":"Лукас, за понеделник, виж коментара от Claude","width":"0.11191860158392725","conf":"1","height":"0.017613322731030334","word_num":"0","left":"0.11773256332908352","top":"0.31339712947633447","line_num":"0","block_num":"0","level":"0"},{"conf":"1","line_num":"0","word_num":"0","height":"0.017421602252187474","level":"0","page_num":"0","width":"0.09883720316785446","block_num":"0","par_num":"0","top":"0.331010453055091","text":"https://github.com/jiminny/app/pull/11998","left":"0.11627907448196417"},{"conf":"1","page_num":"0","word_num":"0","block_num":"0","height":"0.013937282410154683","par_num":"0","left":"0.2892441863638174","top":"0.36585365850456264","level":"0","text":"Today~","width":"0.018895348335834228","line_num":"0"},{"height":"0.013937282410154683","conf":"1","block_num":"0","left":"0.116279072119314","level":"0","par_num":"0","width":"0.05523255530824052","line_num":"0","word_num":"0","page_num":"0","text":"Lukas Kovalik 10:20 AM","top":"0.39372822279027697"},{"page_num":"0","conf":"1","par_num":"0","word_num":"0","left":"0.1177325580963753","block_num":"0","text":"направих една малка промяна в краина сметка, комитнах го","top":"0.41786283903538746","level":"0","height":"0.007224268510200971","width":"0.13953486909257606","line_num":"0"},{"top":"0.439024390579108","level":"0","left":"0.11773256588021923","par_num":"0","conf":"0.30000001192092896","line_num":"0","width":"0.05523255023550479","text":"Nikalnv Vankou 40.00 AM","block_num":"0","word_num":"0","height":"0.006968640444571461","page_num":"0"},{"left":"0.1162790684784552","text":"lukas Kovalik 10-20 AM","block_num":"0","par_num":"0","top":"0.4808362370000441","page_num":"0","conf":"0.30000001192092896","height":"0.007202040445671409","word_num":"0","width":"0.05232558351881961","line_num":"0","level":"0"},{"left":"0.11773256023957288","height":"0.007324297082101028","par_num":"0","word_num":"0","line_num":"0","block_num":"0","conf":"0.30000001192092896","top":"0.49825783990011896","text":"toвa зa favicon има ли си тикет","width":"0.07267441648118039","level":"0","page_num":"0"},{"block_num":"0","height":"0.014354066985645897","level":"0","page_num":"0","conf":"0.5","top":"0.5191387559808612","width":"0.0566860462756867","word_num":"0","line_num":"0","left":"0.11773255937818321","par_num":"0","text":"Nikolay Yankov 10:21 AM"},{"top":"0.5644599301598978","width":"0.030523257052644776","word_num":"0","line_num":"0","page_num":"0","text":"само ми писа","block_num":"0","par_num":"0","conf":"1","height":"0.0073104049220229506","level":"0","left":"0.1177325573369174"},{"left":"0.11627907367322542","word_num":"0","block_num":"0","par_num":"0","text":"ако искаш си направи.","top":"0.5885167465684981","width":"0.05232557844608389","height":"0.007302068257065586","level":"0","line_num":"0","page_num":"0","conf":"0.5"},{"height":"0.0071770334928229484","word_num":"0","par_num":"0","level":"0","top":"0.613237639553429","line_num":"0","conf":"0.5","left":"0.11627906991128846","page_num":"0","text":"лаже по-лобое ла има","block_num":"0","width":"0.05377906941353007"},{"conf":"1","level":"0","block_num":"0","height":"0.017663338157739017","line_num":"0","par_num":"0","left":"0.11627906996301654","top":"0.6306620207999295","width":"0.053779069413530056","word_num":"0","page_num":"0","text":"Lukas Kovalik 10.21 AM"},{"word_num":"0","conf":"0.5","par_num":"0","page_num":"0","top":"0.654704944081909","width":"0.19912790744862657","height":"0.007315961938155313","block_num":"0","left":"0.11773255752034405","level":"0","line_num":"0","text":"хубаво ла напоавим, лоста време ми отнеме и май тоябва с Вес така иначе ла се види"},{"page_num":"0","text":"","width":"0.008720929941860467","left":"0.47674418604651164","height":"0.017421602206736386","word_num":"0","par_num":"0","block_num":"0","conf":"0.30000001192092896","level":"0","line_num":"0","top":"0.02787456492450635"},{"conf":"0.5","page_num":"0","line_num":"0","par_num":"0","width":"0.049418601583927246","height":"0.0071770334928229484","text":"от S3 изглежда идва","level":"0","top":"0.6794258373205742","block_num":"0","word_num":"0","left":"0.116279068714924"},{"word_num":"0","top":"0.6968641112920191","line_num":"0","conf":"1","height":"0.013937282410154683","level":"0","page_num":"0","left":"0.11773255937818321","block_num":"0","par_num":"0","text":"Nikolay Yankov 10:22 AM","width":"0.0566860462756867"},{"height":"0.006968640444571461","left":"0.11773255767087878","conf":"0.5","level":"0","par_num":"0","top":"0.7212543557359024","word_num":"0","text":"интересно","width":"0.024709300791963623","page_num":"0","block_num":"0","line_num":"0"},{"top":"0.7384370015948963","width":"0.0566860462756867","par_num":"0","block_num":"0","page_num":"0","word_num":"0","text":"Nikolay Yankov 12:32 PM","level":"0","left":"0.11773255937818321","height":"0.014354066985645897","line_num":"0","conf":"0.5"},{"par_num":"0","text":"Пуснах пак ревю, я виж какво е написало","word_num":"0","line_num":"0","block_num":"0","conf":"0.5","left":"0.11773256945010184","level":"0","page_num":"0","top":"0.7595818820544469","height":"0.010753046002304312","width":"0.09593022123296212"},{"height":"0.01775780819249495","line_num":"0","block_num":"0","top":"0.7804878055345368","page_num":"0","left":"0.11773255137706472","word_num":"0","level":"0","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","conf":"1","par_num":"0","width":"0.20203488938351893"},{"conf":"1","page_num":"0","width":"0.07267441140844468","word_num":"0","level":"0","line_num":"0","par_num":"0","text":"трябва ли да го вкарваме в кеш","left":"0.11773256569142491","block_num":"0","height":"0.010452960286604362","top":"0.8013937287417153"},{"left":"0.10174418929016149","text":"Lukas Kovalik 6.56 PM","conf":"0.30000001192092896","height":"0.0247208931419457","level":"0","top":"0.8221690590111643","page_num":"0","word_num":"0","width":"0.0668604627568671","par_num":"0","line_num":"0","block_num":"0"},{"level":"0","line_num":"0","height":"0.010755824890623433","block_num":"0","conf":"1","left":"0.1177326057840285","par_num":"0","width":"0.3677325147263547","page_num":"0","text":"Ники погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го","top":"0.8429027111608212","word_num":"0"},{"width":"0.1279069717894209","block_num":"0","par_num":"0","top":"0.8604465710775784","word_num":"0","level":"0","height":"0.010633567493688156","text":"установим. Това може да е по-бавно, но си e edge case.","line_num":"0","page_num":"0","conf":"1","left":"0.1162790757306877"},{"par_num":"0","height":"0.01777448000139792","width":"0.30232557337334814","block_num":"0","conf":"0.5","left":"0.11627907777661689","line_num":"0","level":"0","page_num":"0","text":"защо въобще е в UserTransformer, той се зарежда при много други случаи и реално полето ни трябва само за promotion страница","word_num":"0","top":"0.8811802233261327"},{"line_num":"0","word_num":"0","conf":"1","left":"0.10610465509780172","height":"0.0071770334928229484","level":"0","par_num":"0","top":"0.9266347687400319","page_num":"0","width":"0.11627905419532288","block_num":"0","text":"не е ли по-лобое ла го четем от отлелен endoointi"},{"level":"0","conf":"0.30000001192092896","block_num":"0","width":"0.01889534706765031","left":"0.10755814136443057","height":"0.010611339429158706","line_num":"0","par_num":"0","text":"+ Аal","page_num":"0","word_num":"0","top":"0.9545454544222594"},{"left":"0.8343023291036977","conf":"0.30000001192092896","top":"0.00000000033500369145400555","par_num":"0","width":"0.16279069413530056","word_num":"0","line_num":"0","text":"Q4@ 6 10%4 & Mon27 Apr 18:58:42","level":"0","page_num":"0","height":"0.020905922094220375","block_num":"0"},{"level":"0","height":"0.02090592282229975","page_num":"0","left":"0.890988372238372","par_num":"0","top":"0.027874564982578343","width":"0.007267441678779241","text":"*","line_num":"0","word_num":"0","block_num":"0","conf":"0.5"},{"top":"0.06271777012826163","left":"0.5029069814629333","block_num":"0","height":"0.017421602252187585","word_num":"0","line_num":"0","par_num":"0","level":"0","conf":"1","text":"Al reports promotion pages #11998","page_num":"0","width":"0.08284883296236079"},{"par_num":"0","page_num":"0","line_num":"0","conf":"1","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","top":"0.08362369354010668","width":"0.21947674041098741","word_num":"0","level":"0","height":"0.010475189872145352","block_num":"0","left":"0.5029069820341029"},{"par_num":"0","top":"0.10765550223535247","block_num":"0","width":"0.08720929571922797","conf":"0.30000001192092896","line_num":"0","text":"ranoramakeportsrrono leatures gria nou","word_num":"0","height":"0.007327075970420038","level":"0","page_num":"0","left":"0.515988370209941"},{"height":"0.010516868633896892","par_num":"0","line_num":"0","block_num":"0","word_num":"0","conf":"0.30000001192092896","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","width":"0.12936045261139562","level":"0","top":"0.10446570957187562","page_num":"0","left":"0.6206395320015682"},{"height":"0.013937282410154683","word_num":"0","text":"responsive","left":"0.5145348846088632","par_num":"0","level":"0","page_num":"0","block_num":"0","conf":"1","line_num":"0","top":"0.11846689863232107","width":"0.02470930079196354"},{"width":"0.04069767099745736","level":"0","height":"0.017571645490290444","par_num":"0","left":"0.6206395381627619","text":"added at line 170","top":"0.11483253561555695","word_num":"0","block_num":"0","conf":"1","line_num":"0","page_num":"0"},{"level":"0","height":"0.01754385964912275","conf":"1","width":"0.1308139435788419","left":"0.6206395418231858","line_num":"0","par_num":"0","top":"0.14274322169059017","block_num":"0","page_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","word_num":"0"},{"height":"0.017621659395987477","block_num":"0","left":"0.5145348893682301","line_num":"0","text":"Wording inconsistency (modal vs inline)","par_num":"0","top":"0.15311004759362778","level":"0","conf":"1","width":"0.08720929571922786","word_num":"0","page_num":"0"},{"line_num":"0","page_num":"0","width":"0.027616277654120225","par_num":"0","height":"0.006968641205077342","block_num":"0","word_num":"0","level":"0","left":"0.6206395362891324","text":"as possible.","conf":"0.30000001192092896","top":"0.16724738673389183"},{"height":"0.006968640444571461","par_num":"0","width":"0.08866277654120269","page_num":"0","level":"0","block_num":"0","conf":"0.30000001192092896","text":"nrer compured calling can( a secona","line_num":"0","top":"0.1951219515547178","left":"0.514534888937681","word_num":"0"},{"left":"0.620639539097222","width":"0.11482557337334798","level":"0","word_num":"0","line_num":"0","page_num":"0","height":"0.0175883172991933","block_num":"0","text":"Fixed - canManageAiReports extracted as a shared","conf":"1","top":"0.18815330979979739","par_num":"0"},{"top":"0.20557491298540453","width":"0.023255812360885253","word_num":"0","block_num":"0","conf":"1","par_num":"0","text":"computed","level":"0","page_num":"0","left":"0.6220930244397125","line_num":"0","height":"0.017421602252187474"},{"page_num":"0","block_num":"0","line_num":"0","width":"0.011627906180442626","text":"time","par_num":"0","left":"0.5145348842644298","top":"0.20557491302895847","height":"0.017421602252187585","conf":"1","level":"0","word_num":"0"},{"word_num":"0","conf":"1","height":"0.017746694160230114","level":"0","text":"trackInterest endpoint missing rate","top":"0.23344947777831704","left":"0.5159883762736059","page_num":"0","line_num":"0","width":"0.08284883296236079","par_num":"0","block_num":"0"},{"line_num":"0","conf":"1","left":"0.5145348854641136","height":"0.006968640444571461","page_num":"0","word_num":"0","block_num":"0","par_num":"0","top":"0.25435540103206966","width":"0.015988370205493596","level":"0","text":"limitina"},{"width":"0.05523255530824056","text":"Still present (see below)","height":"0.017807823619203744","top":"0.24003189772282119","word_num":"0","left":"0.6206395358560387","page_num":"0","level":"0","conf":"1","block_num":"0","par_num":"0","line_num":"0"},{"top":"0.31339712947633447","width":"0.0479651156892168","level":"0","word_num":"0","conf":"1","block_num":"0","height":"0.017613322731030334","line_num":"0","page_num":"0","left":"0.5000000013287278","par_num":"0","text":"Remaining issues"},{"block_num":"0","left":"0.500000004738088","level":"0","width":"0.10319766592472168","height":"0.017596652443139016","page_num":"0","conf":"0.5","line_num":"0","text":". Extra DB query still fires on every page load","par_num":"0","top":"0.34843205595226867","word_num":"0"},{"width":"0.2456395372431328","page_num":"0","block_num":"0","left":"0.5014534881058167","height":"0.017632773428252313","line_num":"0","par_num":"0","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","top":"0.37630662036010043","word_num":"0","conf":"1","level":"0"},{"word_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist($user).","line_num":"0","block_num":"0","left":"0.502907000810188","level":"0","height":"0.010708589112739642","page_num":"0","par_num":"0","conf":"1","top":"0.4178628388386477","width":"0.2194767201200445"},{"height":"0.017741137904603743","left":"0.5000000072941873","top":"0.45993031375224214","line_num":"0","page_num":"0","par_num":"0","level":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","width":"0.24127905419532292","block_num":"0","conf":"0.5","word_num":"0"},{"text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","par_num":"0","block_num":"0","level":"0","word_num":"0","height":"0.013937282410154683","page_num":"0","left":"0.49999999992732563","top":"0.4773519162821602","line_num":"0","conf":"1","width":"0.25000000000000006"},{"conf":"1","block_num":"0","par_num":"0","line_num":"0","height":"0.020967051553193783","page_num":"0","top":"0.4912280702286602","word_num":"0","left":"0.5014534918272605","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","level":"0","width":"0.24854649888708236"},{"par_num":"0","height":"0.010686361048210191","top":"0.5119617223575448","conf":"0.5","width":"0.22819764563377865","level":"0","line_num":"0","block_num":"0","page_num":"0","left":"0.5000000058253165","text":"ISON columns ( recioients->users. arouns ) — these can't be indexed efficiently and will dearade as the","word_num":"0"},{"top":"0.5606060607314207","conf":"1","par_num":"0","height":"0.0073381900026847635","width":"0.08720930586469933","block_num":"0","left":"0.5014534853695082","page_num":"0","level":"0","text":"uaaested mitiaations (in order of effort):","word_num":"0","line_num":"0"},{"word_num":"0","par_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","page_num":"0","left":"0.5014534869745092","conf":"1","block_num":"0","level":"0","top":"0.5853269537480064","height":"0.01754385964912286","line_num":"0","width":"0.17587209255137348"},{"height":"0.01762721565161396","left":"0.5058139713227934","page_num":"0","par_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","width":"0.23982555308240527","word_num":"0","conf":"0.5","line_num":"0","block_num":"0","top":"0.6027874571526035","level":"0"},{"width":"0.12354649888708236","word_num":"0","height":"0.007352082923268499","left":"0.5072674434499944","line_num":"0","text":"transtorm() Is called multiple times in a single response","block_num":"0","conf":"0.5","page_num":"0","level":"0","par_num":"0","top":"0.6267942582824599"},{"conf":"1","par_num":"0","page_num":"0","left":"0.500000009904769","level":"0","block_num":"0","line_num":"0","top":"0.6376306621143244","width":"0.2558139435788419","word_num":"0","height":"0.017421602252187474","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/"},{"height":"0.0071770334928229484","left":"0.5058139616289973","par_num":"0","block_num":"0","level":"0","line_num":"0","text":"deletion pipeline — eliminates the querv entirelv.","top":"0.6618819776714514","conf":"1","page_num":"0","width":"0.10465115689216775","word_num":"0"},{"block_num":"0","level":"0","par_num":"0","page_num":"0","width":"0.021802323929806966","conf":"0.5","line_num":"0","left":"0.5000000014415185","word_num":"0","text":"Fix this →","top":"0.6864111496195452","height":"0.013937282410154683"},{"top":"0.742160278657975","text":"2. trackInterest endpoint has no rate limit or idempotency guard","line_num":"0","height":"0.017807823619203744","block_num":"0","word_num":"0","level":"0","width":"0.15552324944354118","left":"0.4985465185881723","page_num":"0","conf":"1","par_num":"0"},{"text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","level":"0","line_num":"0","left":"0.49996836441857584","top":"0.7722896015036981","page_num":"0","par_num":"0","width":"0.22824831211820562","block_num":"0","height":"0.015257937295965363","word_num":"0","conf":"1"},{"level":"0","block_num":"0","page_num":"0","text":"pi.php:282","top":"0.7944250870834626","line_num":"0","par_num":"0","left":"0.4999999995712994","width":"0.02470930332833149","word_num":"0","conf":"0.5","height":"0.006968641205077342"},{"left":"0.5029069986857431","top":"0.8325358852423792","text":"public function trackInterest(Request srequest): JsonResponse","level":"0","width":"0.14680230363886415","height":"0.021122649525911585","word_num":"0","par_num":"0","page_num":"0","block_num":"0","line_num":"0","conf":"0.5"},{"conf":"0.5","word_num":"0","left":"0.5116279148651706","par_num":"0","block_num":"0","line_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs@:l","top":"0.8604465709728868","page_num":"0","height":"0.0071770334928229484","width":"0.23255810839064572","level":"0"},{"height":"0.010647460414272003","line_num":"0","page_num":"0","conf":"1","left":"0.5000000190354208","word_num":"0","level":"0","block_num":"0","par_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","width":"0.25290696164394955","top":"0.9266347687970263"},{"top":"0.9397519919504055","block_num":"0","par_num":"0","level":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","line_num":"0","width":"0.24420977653341086","word_num":"0","conf":"1","height":"0.019450716995166206","page_num":"0","left":"0.4999881374684581"},{"conf":"1","top":"0.958188153403523","text":"racking noise in analytics.","width":"0.05668604627568663","word_num":"0","par_num":"0","left":"0.5000000013824143","block_num":"0","line_num":"0","page_num":"0","level":"0","height":"0.017421602252187474"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4878
|
NULL
|
NULL
|
|
89224
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% CMon 27 Apr 18:58:43181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-10+-5 +1701816+-629429422133+++APP++++++++....
|
[{"width":"0.03633720874786377", [{"width":"0.03633720874786377","top":"0.006976744645528443","left":"0.033430232229750306","block_num":"0","height":"0.013953487608167836","par_num":"0","word_num":"0","conf":"1","level":"0","text":"iTerm2","page_num":"0","line_num":"0"},{"conf":"0.5","left":"0.08284883942658913","block_num":"0","level":"0","par_num":"0","text":"Shell Edit View","width":"0.08720929887559678","page_num":"0","word_num":"0","height":"0.016666666666666607","top":"0.004444444444444473","line_num":"0"},{"conf":"1","text":"Session","level":"0","par_num":"0","top":"0.0069767444517300214","line_num":"0","width":"0.034883719020419646","height":"0.013953487608167836","block_num":"0","word_num":"0","page_num":"0","left":"0.18168604790258086"},{"par_num":"0","conf":"0.5","top":"0.006914945827753649","width":"0.031997723049587645","word_num":"0","text":"Scripts","line_num":"0","left":"0.2296406737588108","block_num":"0","height":"0.014077084859212219","level":"0","page_num":"0"},{"block_num":"0","left":"0.27323585639556563","text":"Profiles","line_num":"0","word_num":"0","height":"0.014200344085693373","level":"0","par_num":"0","top":"0.006853316216056116","width":"0.033470148510403086","page_num":"0","conf":"1"},{"width":"0.03633720874786378","left":"0.31831395315998284","block_num":"0","height":"0.013953487608167836","level":"0","page_num":"0","conf":"1","line_num":"0","par_num":"0","top":"0.006976744645528443","text":"Window","word_num":"0"},{"conf":"1","text":"Help","page_num":"0","level":"0","left":"0.36773255878967304","line_num":"0","par_num":"0","top":"0.006976744474985863","word_num":"0","height":"0.013953487608167836","block_num":"0","width":"0.02034883631600276"},{"text":"APP (-zsh)","width":"0.049418603049384224","level":"0","left":"0.47529069803997187","conf":"1","page_num":"0","par_num":"0","top":"0.03666666662527551","word_num":"0","height":"0.014496124055650483","line_num":"0","block_num":"0"},{"level":"0","top":"0.06511627921917185","par_num":"0","word_num":"0","height":"0.013953487608167947","text":"DOCKER","left":"0.050872094365759145","page_num":"0","width":"0.03488371902041965","line_num":"0","block_num":"0","conf":"1"},{"conf":"0.30000001192092896","height":"0.011627907223171752","page_num":"0","par_num":"0","width":"0.01017441815800138","block_num":"0","left":"0.14680232584832487","line_num":"0","text":"881","top":"0.06744186045818157","level":"0","word_num":"0"},{"word_num":"0","level":"0","conf":"1","page_num":"0","text":"DEV (docker)","line_num":"0","width":"0.05087209277682833","left":"0.2107558135640147","height":"0.011627906163533597","top":"0.0674418609589309","block_num":"0","par_num":"0"},{"left":"0.30813953472970373","height":"0.011627907223171752","block_num":"0","level":"0","line_num":"0","page_num":"0","par_num":"0","conf":"0.30000001192092896","text":"₴82","width":"0.014534884028964579","word_num":"0","top":"0.06744186045818157"},{"left":"0.3793604658741403","line_num":"0","text":"APP (-zsh)","conf":"0.5","height":"0.011627906163533597","top":"0.0674418609589309","width":"0.040697672632005466","par_num":"0","block_num":"0","word_num":"0","page_num":"0","level":"0"},{"conf":"0.30000001192092896","text":"83","block_num":"0","line_num":"0","height":"0.013953487608167947","level":"0","par_num":"0","word_num":"0","width":"0.013081394301520444","top":"0.06511627921917185","page_num":"0","left":"0.47238372128431727"},{"top":"0.0648826047097042","width":"0.048017358779907204","par_num":"0","height":"0.014420836766560807","word_num":"0","conf":"0.5","level":"0","block_num":"0","left":"0.5348576004786272","line_num":"0","page_num":"0","text":"screenpipe\""},{"text":"front-end/src/components/AiReports/Manage/__tests_","top":"0.09069767473716484","conf":"1","width":"0.2790697521633572","page_num":"0","word_num":"0","height":"0.016279069052802186","block_num":"0","par_num":"0","left":"0.008720942522972407","line_num":"0","level":"0"},{"page_num":"0","height":"0.01860465155707458","block_num":"0","par_num":"0","top":"0.0906976745315402","left":"0.2863372117089401","line_num":"0","conf":"1","word_num":"0","width":"0.14098837110731333","level":"0","text":"_/ManageAiReports.spec.js"},{"width":"0.44622090657552077","block_num":"0","par_num":"0","left":"0.00872094763883828","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","top":"0.1093023258515059","line_num":"0","page_num":"0","level":"0","height":"0.016279069052802186","conf":"1","word_num":"0"},{"height":"0.016279069052802186","par_num":"0","block_num":"0","level":"0","page_num":"0","top":"0.13023255838057568","word_num":"0","conf":"1","line_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","width":"0.5232557932535807","left":"0.008720945815069964"},{"text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","par_num":"0","left":"0.00872092909910249","page_num":"0","line_num":"0","block_num":"0","height":"0.018604651557074692","top":"0.1488372093377417","level":"0","conf":"1","width":"0.6002906799316406","word_num":"0"},{"top":"0.16976744197340066","page_num":"0","height":"0.018604651557074692","conf":"1","level":"0","line_num":"0","block_num":"0","text":"front-end/src/components/AiReports/constants.js","width":"0.26308138105604384","word_num":"0","left":"0.008720941327598099","par_num":"0"},{"top":"0.18837209251603637","width":"0.4127906799316406","word_num":"0","level":"0","line_num":"0","conf":"1","page_num":"0","left":"0.008720944627202777","height":"0.01860465155707458","par_num":"0","block_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue"},{"word_num":"0","conf":"1","level":"0","line_num":"0","top":"0.20930232526797432","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","block_num":"0","par_num":"0","height":"0.01860465155707458","page_num":"0","left":"0.008720936305477206","width":"0.4069767422146267"},{"level":"0","conf":"1","height":"0.016279069052802186","block_num":"0","left":"0.00872093223776006","width":"0.35755814446343315","word_num":"0","line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","top":"0.2302325584096454","par_num":"0","page_num":"0"},{"par_num":"0","word_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","height":"0.018604651557074692","conf":"1","top":"0.2488372089889045","level":"0","block_num":"0","line_num":"0","left":"0.008720934875787774","width":"0.35174418555365666","page_num":"0"},{"text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","par_num":"0","left":"0.008720937779436768","width":"0.4854651133219401","block_num":"0","word_num":"0","page_num":"0","height":"0.01860465155707458","conf":"1","line_num":"0","level":"0","top":"0.26976744154704413"},{"text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","block_num":"0","width":"0.3793604532877604","level":"0","top":"0.29069767465964547","word_num":"0","conf":"1","height":"0.016279069052802075","left":"0.008720939940422036","page_num":"0","line_num":"0","par_num":"0"},{"page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","par_num":"0","conf":"1","width":"0.3851743910047743","block_num":"0","left":"0.008720948847176679","word_num":"0","top":"0.3093023252679743","height":"0.01860465155707458","level":"0","line_num":"0"},{"word_num":"0","par_num":"0","height":"0.011627906163533597","width":"0.27180230882432727","block_num":"0","top":"0.3325581400286983","left":"0.01017442358565618","level":"0","text":"front-end/src/components/shared/SavedSearchModal/","page_num":"0","conf":"1","line_num":"0"},{"width":"0.1061046494377984","line_num":"0","top":"0.3325581400718851","conf":"0.5","block_num":"0","word_num":"0","left":"0.2805232549080388","height":"0.013953487608167836","page_num":"0","text":"__mocks__/nudges.js","par_num":"0","level":"0"},{"page_num":"0","conf":"1","block_num":"0","top":"0.3488372088726255","height":"0.01860465155707458","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","level":"0","par_num":"0","width":"0.4622092776828342","left":"0.008720944988524652","word_num":"0","line_num":"0"},{"width":"0.3183139377170139","par_num":"0","conf":"1","block_num":"0","top":"0.3697674416633232","left":"0.008720943423469624","height":"0.01860465155707458","line_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","page_num":"0","level":"0","word_num":"0"},{"height":"0.020930230882432732","text":"front-end/src/components/shared/SavedSearchModal/__tests_","par_num":"0","line_num":"0","word_num":"0","top":"0.3883720938223495","left":"0.008720939432180469","conf":"1","level":"0","width":"0.31540696885850694","page_num":"0","block_num":"0"},{"top":"0.36976744175634635","level":"0","conf":"1","left":"0.32994186531367026","page_num":"0","block_num":"0","par_num":"0","width":"0.2790697521633572","word_num":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","line_num":"0","height":"0.018604651557074692"},{"left":"0.329941858342544","page_num":"0","level":"0","par_num":"0","height":"0.01860465155707458","block_num":"0","conf":"1","top":"0.3883720925160363","text":"/__snapshots__/saved-search-modal.output.html","width":"0.25145348442925347","line_num":"0","word_num":"0"},{"width":"0.32412789662679037","block_num":"0","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/config.js","line_num":"0","top":"0.4093023252679743","word_num":"0","level":"0","page_num":"0","par_num":"0","height":"0.018604651557074692","left":"0.008720939459133782"},{"width":"0.36773253546820744","page_num":"0","word_num":"0","conf":"1","block_num":"0","line_num":"0","par_num":"0","height":"0.016279069052802075","level":"0","left":"0.008720945245547382","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","top":"0.4302325583805757"},{"word_num":"0","line_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","top":"0.4488372090276642","height":"0.01860465155707458","left":"0.008720939802207934","level":"0","conf":"1","par_num":"0","block_num":"0","page_num":"0","width":"0.4854651133219401"},{"word_num":"0","height":"0.016279069052802075","level":"0","par_num":"0","block_num":"0","line_num":"0","conf":"1","left":"0.007267450825504717","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","top":"0.4697674423340641","width":"0.49709298875596786","page_num":"0"},{"text":"tests/Feature/NudgeProcessingFeatureTest.php","page_num":"0","level":"0","par_num":"0","left":"0.008720936961676194","word_num":"0","block_num":"0","top":"0.49069767467902525","conf":"1","width":"0.245639525519477","height":"0.016279069052802186","line_num":"0"},{"line_num":"0","top":"0.509302325306734","word_num":"0","left":"0.008720940809666643","block_num":"0","par_num":"0","width":"0.3241278966267904","page_num":"0","height":"0.01860465155707458","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","level":"0","conf":"1"},{"conf":"1","left":"0.008720944263830709","block_num":"0","page_num":"0","line_num":"0","height":"0.016279069052802186","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","top":"0.5302325584096454","width":"0.4127906799316406","word_num":"0","level":"0","par_num":"0"},{"par_num":"0","left":"0.007267443399245208","height":"0.018604651557074692","conf":"1","width":"0.3808139377170139","level":"0","word_num":"0","block_num":"0","top":"0.548837209182703","page_num":"0","line_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php"},{"top":"0.5697674415470441","word_num":"0","width":"0.26308138105604384","left":"0.00872094066747218","par_num":"0","height":"0.018604651557074692","block_num":"0","conf":"1","level":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","line_num":"0","page_num":"0"},{"word_num":"0","left":"0.008720935081112163","width":"0.2790697521633572","line_num":"0","height":"0.016279069052802297","page_num":"0","conf":"1","par_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","level":"0","top":"0.5906976748922036","block_num":"0"},{"par_num":"0","level":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","line_num":"0","block_num":"0","conf":"1","height":"0.018604651557074692","word_num":"0","left":"0.008720935288035392","top":"0.6093023252912301","width":"0.40697674221462665","page_num":"0"},{"height":"0.018604651557074692","block_num":"0","page_num":"0","conf":"1","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","width":"0.3735465155707466","word_num":"0","level":"0","line_num":"0","par_num":"0","top":"0.630232558174951","left":"0.008720932494423177"},{"width":"0.3575581444634332","page_num":"0","par_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","line_num":"0","height":"0.018604651557074692","word_num":"0","conf":"1","block_num":"0","level":"0","left":"0.008720925345802873","top":"0.6488372087951062"},{"width":"0.30668604109022357","block_num":"0","left":"0.008720930055878897","page_num":"0","line_num":"0","level":"0","par_num":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","conf":"1","height":"0.023669251335991737","word_num":"0","top":"0.6674418601201179"},{"conf":"0.30000001192092896","level":"0","page_num":"0","block_num":"0","left":"0.30000000013888894","line_num":"0","par_num":"0","text":"rtarest. php","top":"0.64","height":"0.053333333333333344","width":"0.06666666666666665","word_num":"0"},{"page_num":"0","line_num":"0","block_num":"0","conf":"1","height":"0.016279069052802186","par_num":"0","word_num":"0","level":"0","width":"0.45784882439507385","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","left":"0.008720943324406762","top":"0.6906976746596454"},{"par_num":"0","page_num":"0","level":"0","conf":"1","block_num":"0","width":"0.43459303114149306","top":"0.7088888885350363","height":"0.019018088446723147","left":"0.008720919944754178","line_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","word_num":"0"},{"word_num":"0","top":"0.6866666667777778","left":"0.3208333309027779","level":"0","par_num":"0","height":"0.046666666666666634","page_num":"0","text":"fonitrn/esComedad.ron,.php","block_num":"0","conf":"0.30000001192092896","line_num":"0","width":"0.14583333333333337"},{"height":"0.01666666666666672","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","block_num":"0","left":"0.008720931874829398","word_num":"0","par_num":"0","level":"0","width":"0.4186046600341797","top":"0.73","page_num":"0","line_num":"0","conf":"1"},{"text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","top":"0.7488372099361025","word_num":"0","conf":"1","line_num":"0","height":"0.0189405674404568","par_num":"0","width":"0.5188953399658203","left":"0.008720944031500208","page_num":"0","block_num":"0","level":"0"},{"text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","left":"0.00872094292957427","block_num":"0","height":"0.01912144766913515","top":"0.769767441714528","width":"0.556686019897461","level":"0","par_num":"0","page_num":"0","word_num":"0","line_num":"0","conf":"1"},{"width":"0.5232557932535807","par_num":"0","page_num":"0","line_num":"0","left":"0.008720950932465657","word_num":"0","height":"0.018604651557074692","top":"0.7883720927330905","block_num":"0","level":"0","conf":"1","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php"},{"page_num":"0","height":"0.019018088446723147","line_num":"0","width":"0.5130814022488065","word_num":"0","block_num":"0","conf":"1","level":"0","par_num":"0","top":"0.8088888884187573","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","left":"0.008720932168461499"},{"page_num":"0","level":"0","par_num":"0","width":"0.5901162889268663","left":"0.00872093066119501","height":"0.018888888888888955","line_num":"0","conf":"1","top":"0.83","word_num":"0","block_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js"},{"left":"0.00872093066119501","level":"0","top":"0.8488372098663348","width":"0.5901162889268663","block_num":"0","word_num":"0","conf":"1","height":"0.0189405674404568","par_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","line_num":"0","page_num":"0"},{"block_num":"0","par_num":"0","left":"0.00872095191817562","conf":"1","page_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","word_num":"0","height":"0.016279069052802186","line_num":"0","top":"0.8697674421015059","level":"0","width":"0.6017441643608942"},{"block_num":"0","page_num":"0","par_num":"0","conf":"1","height":"0.016279069052802186","level":"0","top":"0.8906976746596453","left":"0.008720941480167237","line_num":"0","width":"0.5188953399658204","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","word_num":"0"},{"height":"0.019018088446723036","level":"0","width":"0.5130813598632812","conf":"1","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","par_num":"0","top":"0.9088888883993775","word_num":"0","block_num":"0","line_num":"0","page_num":"0","left":"0.008720965718114076"},{"left":"0.008720959803854693","line_num":"0","par_num":"0","conf":"1","top":"0.93","height":"0.016666666666666607","page_num":"0","width":"0.4796511332194011","word_num":"0","block_num":"0","level":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php"},{"line_num":"0","top":"0.9488372099361024","height":"0.0189405674404568","conf":"1","level":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","left":"0.008720958818144888","page_num":"0","par_num":"0","block_num":"0","width":"0.4636627621120876","word_num":"0"},{"level":"0","height":"0.02144702911376961","block_num":"0","page_num":"0","par_num":"0","word_num":"0","line_num":"0","left":"0.004360485232488721","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","top":"0.9674418601201177","width":"0.5348837110731336","conf":"1"},{"line_num":"0","conf":"0.30000001192092896","page_num":"0","level":"0","top":"0.06511627927731145","width":"0.024709301524692084","left":"0.6250000001737047","block_num":"0","par_num":"0","height":"0.013953487608167836","word_num":"0","text":"O 84"},{"word_num":"0","text":"-zsh","conf":"0.5","top":"0.06744186098800065","width":"0.017441859510209823","height":"0.011627906163533597","block_num":"0","level":"0","left":"0.7194767443728021","page_num":"0","line_num":"0","par_num":"0"},{"conf":"0.30000001192092896","block_num":"0","width":"0.01453488270441694","word_num":"0","top":"0.0674418609589309","page_num":"0","par_num":"0","left":"0.7994186049777334","height":"0.011627906163533597","level":"0","text":"885","line_num":"0"},{"height":"0.014444444444444371","block_num":"0","text":"100% C","level":"0","width":"0.042151159710354325","left":"0.8168604676103026","conf":"0.30000001192092896","page_num":"0","line_num":"0","par_num":"0","top":"0.00666666666666671","word_num":"0"},{"conf":"1","block_num":"0","line_num":"0","height":"0.014444444444444371","page_num":"0","text":"Mon 27 Apr 18:58:43","level":"0","top":"0.00666666666666671","width":"0.09738372166951492","left":"0.8909883701829538","word_num":"0","par_num":"0"},{"page_num":"0","text":"181","height":"0.013953487608167836","level":"0","top":"0.034883721195916095","block_num":"0","conf":"0.30000001192092896","line_num":"0","left":"0.9723837216312426","par_num":"0","word_num":"0","width":"0.020348836316002705"},{"block_num":"0","text":"ec2-user@ip-10-30-95-134:...","height":"0.011627906163533597","line_num":"0","top":"0.06744186083296189","page_num":"0","conf":"1","word_num":"0","left":"0.8372093056452314","width":"0.11046511332194009","level":"0","par_num":"0"},{"height":"0.013953487608167836","block_num":"0","left":"0.9534883728710178","width":"0.024709301524692084","word_num":"0","top":"0.06511627933545094","conf":"0.30000001192092896","par_num":"0","level":"0","line_num":"0","text":"• ₴6|","page_num":"0"},{"line_num":"0","page_num":"0","top":"0.09069767487282365","width":"0.014534884028964523","height":"0.016279069052802297","left":"0.6511627904225332","level":"0","conf":"1","par_num":"0","word_num":"0","block_num":"0","text":"66"},{"conf":"1","line_num":"0","page_num":"0","left":"0.668604651975057","word_num":"0","block_num":"0","height":"0.011627906163533486","text":"++++","level":"0","par_num":"0","width":"0.024709301524692084","top":"0.09302325610427975"},{"height":"0.01669250594245064","top":"0.1088888889538393","par_num":"0","block_num":"0","line_num":"0","page_num":"0","width":"0.03052325513627796","conf":"1","left":"0.6511627914915763","text":"23 +-","word_num":"0","level":"0"},{"word_num":"0","page_num":"0","level":"0","left":"0.6511627904273781","height":"0.016279069052802186","line_num":"0","conf":"1","block_num":"0","par_num":"0","top":"0.130232558334064","width":"0.014534884028964634","text":"20"},{"word_num":"0","page_num":"0","left":"0.6686046519044723","level":"0","top":"0.13255813982521003","par_num":"0","width":"0.013081394301520444","height":"0.011627906163533486","block_num":"0","text":"+-","line_num":"0","conf":"0.5"},{"left":"0.658430232751938","line_num":"0","page_num":"0","par_num":"0","text":"4","block_num":"0","height":"0.013953487906976814","top":"0.15116279116279063","word_num":"0","width":"0.007267441618217019","level":"0","conf":"1"},{"height":"0.011627906163533486","conf":"0.30000001192092896","line_num":"0","level":"0","text":"+-","left":"0.6686046510880266","word_num":"0","page_num":"0","par_num":"0","width":"0.01162790722317164","block_num":"0","top":"0.15348837269342708"},{"text":"7 +","block_num":"0","conf":"0.30000001192092896","left":"0.6584302333351134","line_num":"0","height":"0.013953487608167947","par_num":"0","top":"0.16976744216490824","word_num":"0","width":"0.01889534791310632","level":"0","page_num":"0"},{"line_num":"0","page_num":"0","level":"0","top":"0.19069767472304788","text":"1 +","word_num":"0","par_num":"0","block_num":"0","left":"0.6584302333351134","height":"0.013953487608167836","width":"0.01889534791310632","conf":"0.5"},{"left":"0.6511627914570022","line_num":"0","par_num":"0","width":"0.015988371107313437","conf":"1","block_num":"0","word_num":"0","page_num":"0","top":"0.20930232582243613","height":"0.016279069052802186","text":"24","level":"0"},{"text":"+-","width":"0.010174418158001464","line_num":"0","left":"0.6700581396855341","word_num":"0","par_num":"0","top":"0.21395348820707683","block_num":"0","page_num":"0","conf":"0.5","height":"0.009302325778537401","level":"0"},{"top":"0.23023255863777647","conf":"1","word_num":"0","level":"0","left":"0.6511627910242451","text":"10","line_num":"0","page_num":"0","par_num":"0","height":"0.013953487608167947","width":"0.01453488270441694","block_num":"0"},{"par_num":"0","text":"+-","top":"0.23255813974769057","level":"0","width":"0.015988371107313437","word_num":"0","block_num":"0","conf":"0.5","page_num":"0","height":"0.011627906163533597","left":"0.6656976748387852","line_num":"0"},{"line_num":"0","height":"0.01671834627787272","width":"0.01889534791310632","conf":"0.5","block_num":"0","top":"0.2488372092900042","par_num":"0","level":"0","word_num":"0","left":"0.6584302327537183","page_num":"0","text":"5 +"},{"width":"0.01889534791310621","block_num":"0","line_num":"0","text":"170","par_num":"0","level":"0","conf":"1","height":"0.013953487608167836","left":"0.646802325807255","page_num":"0","top":"0.26976744235870675","word_num":"0"},{"level":"0","conf":"1","left":"0.651162790963683","line_num":"0","page_num":"0","height":"0.013953487608167836","text":"18","block_num":"0","top":"0.2906976748780866","width":"0.01453488270441694","par_num":"0","word_num":"0"},{"width":"0.01453488270441694","word_num":"0","height":"0.016279069052802297","block_num":"0","level":"0","page_num":"0","conf":"1","left":"0.651162791205931","line_num":"0","par_num":"0","text":"16","top":"0.30930232621003295"},{"page_num":"0","width":"0.013081394301520444","word_num":"0","block_num":"0","left":"0.6686046517106738","level":"0","height":"0.011627906163533486","top":"0.31395348897249686","par_num":"0","line_num":"0","text":"+-","conf":"0.30000001192092896"},{"block_num":"0","line_num":"0","top":"0.3488372088726255","left":"0.6482558143219299","page_num":"0","height":"0.01860465155707458","level":"0","par_num":"0","word_num":"0","conf":"1","width":"0.017441859510209934","text":"62"},{"height":"0.013953487608167836","word_num":"0","line_num":"0","conf":"1","width":"0.01889534791310621","text":"942","page_num":"0","top":"0.36976744235870673","block_num":"0","left":"0.646802325807255","level":"0","par_num":"0"},{"word_num":"0","height":"0.013953487608167947","block_num":"0","line_num":"0","conf":"1","top":"0.39069767491684626","text":"942","width":"0.01889534791310621","page_num":"0","left":"0.646802325807255","level":"0","par_num":"0"},{"conf":"1","height":"0.016279069052802186","page_num":"0","level":"0","text":"21","line_num":"0","par_num":"0","word_num":"0","left":"0.6511627910605823","block_num":"0","top":"0.4093023256673973","width":"0.01453488270441694"},{"par_num":"0","width":"0.013081395626068137","text":"33","left":"0.6526162789947422","height":"0.013953488667805991","conf":"1","block_num":"0","level":"0","line_num":"0","top":"0.4302325580788877","word_num":"0","page_num":"0"},{"height":"0.011627906163533486","text":"+++","par_num":"0","width":"0.017441859510209823","level":"0","line_num":"0","left":"0.6700581403030346","page_num":"0","block_num":"0","conf":"1","top":"0.3534883723833495","word_num":"0"},{"word_num":"0","page_num":"0","left":"0.8517441850662857","level":"0","line_num":"0","top":"0.14651162688694752","block_num":"0","width":"0.1395348866780598","conf":"0.5","height":"0.08372093200683584","par_num":"0","text":"APP"},{"left":"0.6686046489364764","text":"++++","par_num":"0","block_num":"0","line_num":"0","conf":"0.30000001192092896","page_num":"0","height":"0.0813953484429254","level":"0","top":"0.4511627900808629","word_num":"0","width":"0.011627911196814611"},{"top":"0.5325581392707482","height":"0.013953488667805991","left":"0.6700581393147707","page_num":"0","level":"0","block_num":"0","conf":"1","line_num":"0","text":"++","width":"0.011627907223171752","par_num":"0","word_num":"0"},{"word_num":"0","left":"0.6700581393235938","text":"++.","line_num":"0","level":"0","top":"0.6116279067372514","width":"0.013081395626068137","block_num":"0","conf":"0.30000001192092896","page_num":"0","height":"0.01162790722317164","par_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3844
|
NULL
|
NULL
|
|
89226
|
rireroxMISTOMbookmarksrTavsco.s#11998 on JY-20372- rireroxMISTOMbookmarksrTavsco.s#11998 on JY-20372-ai-reports-proProtllesWindowmeleProledey© UserTr© FeatureTransformer.pt© FieldTransformer.phpconvertLeadActvites.pnp© FieldValueTransformer© ForecastTransformer.[ © Salesforce/Service.phg© GroupDealRiskTypeTrc) VerivacuivitvermlaskJob.go crouelranstormer.ong© IntegrationTransforme© PlaybackController.phpC) Invitation I ranstormer.c) Jobliulelranstormer.oC) LanquageDialectirans© LayoutEntity Transform) Layoutlranstormer.ony Createnudgecreateatphp api.php(C) InteqrationApp/Service.pho© LeaC) CreateSeltCoachedEvent.php(C) PlanhatActivityListener.phpC) AskAnythindC) AutomatedReportsRepositorv.ohoC) AutomatedReportsCommand.ohv)© AutomatedReportResult.php© AutomatedReport.phpclass UserTransformer extends TransformerAbstractc) MessaceI ranstormer.l© MomentTransformer.psC) NoteTranstormer.oho© OnDemandActivities 1r 176© OpportunityCommenti 10cC) Opoortunitv iranstormi© ParticipantTransforme© PartnerTransformer.pr 197PermissionTransforme 207© PlaybackPageTransfor 208© PlaybookTransformer.| 214© PlaybookTreeTransfor 215PlaylistActivity Transfo 219© PlaylistShares TransforPlaylistTransformer.ph 220© ProspectsTransformer 224© Question Transformer.f© RecordTypeTransform©Role Transformer.php© ScopeGroupTransform© ScorecardRuleTransfo(C) ScorecardRuleTriagerieanrolararironerarmiar© SearchTransformer.ph 235© SessionTranstormer.pl 2zolc) StageTranstormer.ohpc) Statsfranstormer. ono© TeamDomain Transforr 2449 Teamintegration Trans© TeamTransformer.php 245© ThemeTransformer.ph 2/.© TopicTriggerTransforn 250© TrackTransformer.php 255(c) UcerTransformer nhn(C) Kernel nhrpublic function transform(User $user): arrayf…..,public function includeTeam(User $user): Item(..,public function includeGroup(User $user): ?Itemf...,public function includeJob(User $user): ?Itemf…..,public function includeRoles(User Suser): Resioubuc tunction incuuderermissionsuser suserpubuic function includeintearationsUser Suse1 usageorivate function getteamtiransformero: TransformerAbstprivate function getGroupTransformer: GroupTransformprivate function getIntegrationsTransformer(): Integraprivate function getPermissionTransformer(: Permissid1usageprivate function getRoleTransformer(): RoleTransformerprivate function getJobTitleTransformer(): JobTitleTraprivate function getSidekickService(): SidekickServiceprivate function getUserService(): UserServicet..,→ CPlatform Sprint 2 Q2 - Platform TeWJY-203521 Svnc opportunities witJy-20157 add not enough activitie:G JY-20508 notify creator if ask-jimiAl reports promotion pages by1 (UY-20725) Sentry Hubspot Rate(UY-20699] Wrong formatting forM Inbox (1,613) - lukas.kovalik@jiminPSz Configure SSH access to multiple eCa CloudWatch | us-east-2EC2 |us-east-2Postmark | OAl> Message Streamsf Ask Jiminny Reports by nikolay-yar1 APl usage quidelines and limits - H# (JY-20508] Notify a user before th- New TabG.MA* 100% C/ Mon 27 Apr 18:58:59© github.com/pp/pull/11998*8? OpenAl reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages (rixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisveadded at line 170Wording inconsistency (modal vs inline)Fixed — both now say "We will get in touch with you as soonas possible.nrer compured calling can( a seconaFixed - canManageAiReports extracted as a sharedcomputedtrackInterest endpoint missing ratelimitinaRemaining issuesStill present (see below)1. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297$1SlackN• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is callea multiple times in a single response.• Denormalised boolean: add a has_generated_ai_reports column to users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.pho:40-53 / routes/api.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs@:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /api/v1/automated-reports/interest again and fire another Planhat event. Over time this couldaroduce duplicatetracking noise in analytics....
|
[{"left":"0.015988372135202458", [{"left":"0.015988372135202458","text":"rirerox","level":"0","conf":"0.5","top":"0.006968641450188162","word_num":"0","block_num":"0","height":"0.006968640444571461","line_num":"0","page_num":"0","width":"0.017441858636572004","par_num":"0"},{"text":"MISTOM","level":"0","block_num":"0","left":"0.08430232732457867","top":"0.006968641450188162","conf":"0.30000001192092896","word_num":"0","par_num":"0","width":"0.01598837020549368","page_num":"0","line_num":"0","height":"0.006968640444571461"},{"height":"0.006968640444571461","page_num":"0","level":"0","top":"0.006968641450188162","block_num":"0","left":"0.10465116242420863","par_num":"0","text":"bookmarks","line_num":"0","width":"0.02325581236088528","word_num":"0","conf":"0.30000001192092896"},{"par_num":"0","width":"0.029069766085198585","top":"0.031358884992870206","block_num":"0","level":"0","conf":"0.30000001192092896","height":"0.006968641205077342","line_num":"0","page_num":"0","text":"rTavsco.s","word_num":"0","left":"0.030523256552133952"},{"block_num":"0","conf":"0.5","top":"0.024390243879713447","par_num":"0","text":"#11998 on JY-20372-ai-reports-pro","line_num":"0","width":"0.07703487923804751","level":"0","page_num":"0","height":"0.017421602252187585","left":"0.06831395545187487","word_num":"0"},{"line_num":"0","top":"0.006968641450188162","level":"0","page_num":"0","par_num":"0","text":"Protlles","word_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.13372093037690438","height":"0.006968640444571461","width":"0.01598837020549368"},{"block_num":"0","word_num":"0","line_num":"0","conf":"0.30000001192092896","height":"0.006968640444571461","level":"0","text":"Window","top":"0.006968641450188162","width":"0.01889534706765031","par_num":"0","page_num":"0","left":"0.17296511810861662"},{"width":"0.011627906180442626","block_num":"0","line_num":"0","top":"0.006968641450188162","level":"0","left":"0.19476744167722063","page_num":"0","height":"0.006968640444571461","word_num":"0","conf":"0.30000001192092896","par_num":"0","text":"mele"},{"level":"0","page_num":"0","conf":"0.30000001192092896","block_num":"0","height":"0.003484320602538671","left":"0.014534883869450689","par_num":"0","text":"Proledey","top":"0.05923344944238418","width":"0.020348836766912577","word_num":"0","line_num":"0"},{"par_num":"0","text":"© UserTr","width":"0.021802323929806966","conf":"0.30000001192092896","top":"0.05226480815613055","height":"0.013937282410154683","word_num":"0","page_num":"0","line_num":"0","left":"0.2529069783813237","level":"0","block_num":"0"},{"word_num":"0","height":"0.01773835901628462","page_num":"0","text":"© FeatureTransformer.pt","block_num":"0","conf":"1","left":"0.046511628980250436","line_num":"0","par_num":"0","top":"0.07317073185813372","width":"0.05377906941353007","level":"0"},{"par_num":"0","level":"0","text":"© FieldTransformer.php","top":"0.09059233458819194","width":"0.05232557844608388","word_num":"0","line_num":"0","conf":"1","page_num":"0","left":"0.04651163085624054","block_num":"0","height":"0.017421602252187585"},{"word_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","height":"0.006968640444571572","block_num":"0","level":"0","top":"0.08362369371499645","width":"0.05668604120295097","left":"0.10319767423864108","par_num":"0","text":"convertLeadActvites.pnp"},{"block_num":"0","left":"0.046511628980250436","text":"© FieldValueTransformer","height":"0.014354066985646008","width":"0.05377906941353007","top":"0.10765550239234445","conf":"1","word_num":"0","page_num":"0","line_num":"0","par_num":"0","level":"0"},{"level":"0","page_num":"0","left":"0.04651163074515977","height":"0.010633567493688156","top":"0.12891986142873346","word_num":"0","conf":"1","width":"0.1061046377141425","block_num":"0","line_num":"0","par_num":"0","text":"© ForecastTransformer.[ © Salesforce/Service.phg"},{"level":"0","line_num":"0","conf":"0.5","page_num":"0","par_num":"0","left":"0.04651163199788804","text":"© GroupDealRiskTypeTr","top":"0.14634146377433943","width":"0.05232557844608388","word_num":"0","height":"0.010755824890623433","block_num":"0"},{"line_num":"0","height":"0.006968640444571461","par_num":"0","text":"c) VerivacuivitvermlaskJob.g","word_num":"0","block_num":"0","width":"0.05959301806510764","left":"0.1017441855847957","conf":"0.30000001192092896","top":"0.1567944254223136","level":"0","page_num":"0"},{"height":"0.006968640444571461","level":"0","text":"o crouelranstormer.ong","top":"0.16724738709478748","par_num":"0","word_num":"0","width":"0.05377906434079433","conf":"0.30000001192092896","left":"0.04651162795571776","line_num":"0","page_num":"0","block_num":"0"},{"width":"0.05377906941353007","level":"0","block_num":"0","word_num":"0","height":"0.017674452190003742","par_num":"0","text":"© IntegrationTransforme","line_num":"0","page_num":"0","top":"0.17770034861422124","conf":"1","left":"0.046511627411694276"},{"page_num":"0","conf":"1","height":"0.017793930698619786","left":"0.10174418711978533","level":"0","par_num":"0","text":"© PlaybackController.php","top":"0.17384369988722936","width":"0.053779069413530056","block_num":"0","word_num":"0","line_num":"0"},{"word_num":"0","conf":"0.30000001192092896","page_num":"0","top":"0.20175438613450236","left":"0.046511626608013244","height":"0.0073048471453848185","block_num":"0","text":"C) Invitation I ranstormer.","level":"0","line_num":"0","width":"0.0523255835188196","par_num":"0"},{"conf":"0.30000001192092896","block_num":"0","text":"c) Jobliulelranstormer.o","width":"0.05232557844608388","word_num":"0","left":"0.046511626761643825","line_num":"0","height":"0.007182590508955311","top":"0.21929824549679078","page_num":"0","par_num":"0","level":"0"},{"conf":"0.5","top":"0.23684210526315785","word_num":"0","width":"0.05232557844608388","line_num":"0","level":"0","page_num":"0","height":"0.0071770334928230595","block_num":"0","par_num":"0","text":"C) LanquageDialectirans","left":"0.046511626761643825"},{"left":"0.04651162902768584","top":"0.24720893175688663","level":"0","page_num":"0","width":"0.05377906941353007","word_num":"0","par_num":"0","conf":"0.5","block_num":"0","text":"© LayoutEntity Transform","height":"0.017599429810446376","line_num":"0"},{"height":"0.007329854098233168","word_num":"0","left":"0.04651162676533041","conf":"0.5","line_num":"0","block_num":"0","top":"0.271777003894373","text":") Layoutlranstormer.on","par_num":"0","page_num":"0","width":"0.052325578446083876","level":"0"},{"block_num":"0","level":"0","width":"0.049418601583927274","left":"0.22238371999292036","top":"0.08362369371432266","word_num":"0","conf":"0.30000001192092896","text":"y Createnudgecreateat","height":"0.007285397208668609","line_num":"0","page_num":"0","par_num":"0"},{"conf":"1","text":"php api.php","block_num":"0","left":"0.16133721083046268","level":"0","word_num":"0","par_num":"0","top":"0.17770034822581693","height":"0.013937282410154683","width":"0.024709300791963623","page_num":"0","line_num":"0"},{"block_num":"0","page_num":"0","left":"0.19186047067240358","level":"0","conf":"0.5","top":"0.18102073365231264","width":"0.05959301806510764","line_num":"0","height":"0.0071770334928229484","word_num":"0","text":"(C) InteqrationApp/Service.pho","par_num":"0"},{"line_num":"0","par_num":"0","word_num":"0","height":"0.017793930698619898","top":"0.17384369982915726","conf":"0.30000001192092896","left":"0.25872093084110376","block_num":"0","level":"0","text":"© Lea","width":"0.015988371473677654","page_num":"0"},{"width":"0.06249999492726427","conf":"0.5","par_num":"0","block_num":"0","top":"0.20557491325434107","left":"0.10319768004003041","text":"C) CreateSeltCoachedEvent.php","word_num":"0","page_num":"0","height":"0.007343747018817126","line_num":"0","level":"0"},{"par_num":"0","width":"0.05959301806510764","text":"(C) PlanhatActivityListener.php","top":"0.20557491325434107","height":"0.007343747018817126","conf":"1","word_num":"0","page_num":"0","left":"0.17441861018885438","level":"0","line_num":"0","block_num":"0"},{"text":"C) AskAnythind","left":"0.24127907091927533","page_num":"0","line_num":"0","block_num":"0","word_num":"0","conf":"0.30000001192092896","par_num":"0","height":"0.007343747018817126","width":"0.030523254516276938","top":"0.2055749130801252","level":"0"},{"level":"0","block_num":"0","conf":"0.5","height":"0.007268726160271521","page_num":"0","par_num":"0","left":"0.10319768039814371","text":"C) AutomatedReportsRepositorv.oho","word_num":"0","line_num":"0","width":"0.0712209255137342","top":"0.22966507158551952"},{"top":"0.22966507158551952","word_num":"0","level":"0","line_num":"0","par_num":"0","block_num":"0","height":"0.007268726160271521","conf":"0.5","left":"0.18168605249485353","page_num":"0","width":"0.07122092551373421","text":"C) AutomatedReportsCommand.ohv)"},{"word_num":"0","par_num":"0","left":"0.10319767546027127","conf":"1","text":"© AutomatedReportResult.php","height":"0.017421602252187474","level":"0","block_num":"0","top":"0.25087108023279125","page_num":"0","line_num":"0","width":"0.06250000000000001"},{"top":"0.25087108023279125","width":"0.0508720925513734","block_num":"0","text":"© AutomatedReport.php","word_num":"0","level":"0","conf":"1","height":"0.017421602252187474","left":"0.17151162899078612","line_num":"0","page_num":"0","par_num":"0"},{"width":"0.13081395372431326","word_num":"0","height":"0.017696680254533192","page_num":"0","line_num":"0","block_num":"0","conf":"1","text":"class UserTransformer extends TransformerAbstract","left":"0.1206395362290451","par_num":"0","top":"0.2717770037782289","level":"0"},{"par_num":"0","height":"0.006968640444571461","block_num":"0","text":"c) MessaceI ranstormer.l","width":"0.052325578446083876","conf":"0.30000001192092896","level":"0","line_num":"0","top":"0.306620209394439","page_num":"0","left":"0.04651162660127754","word_num":"0"},{"top":"0.3237639552879298","conf":"0.30000001192092896","block_num":"0","page_num":"0","text":"© MomentTransformer.ps","par_num":"0","width":"0.06104650395981808","word_num":"0","height":"0.010730817937774861","left":"0.04651163557506414","line_num":"0","level":"0"},{"height":"0.0071770334928230595","page_num":"0","left":"0.04651162823350967","conf":"0.5","text":"C) NoteTranstormer.oho","word_num":"0","level":"0","block_num":"0","line_num":"0","par_num":"0","width":"0.05087209255137343","top":"0.34130781499202545"},{"conf":"0.5","width":"0.06249999492726428","top":"0.3763066208794703","level":"0","left":"0.04651163392347692","page_num":"0","block_num":"0","par_num":"0","text":"© OnDemandActivities 1r 176","height":"0.013937280889143033","line_num":"0","word_num":"0"},{"width":"0.061046503959818095","conf":"0.5","top":"0.3937282236086074","text":"© OpportunityCommenti 10c","left":"0.046511635775982434","height":"0.010577996571858761","line_num":"0","par_num":"0","block_num":"0","page_num":"0","word_num":"0","level":"0"},{"par_num":"0","height":"0.006968640444571461","line_num":"0","page_num":"0","top":"0.4111498261191777","left":"0.04651163333318755","block_num":"0","text":"C) Opoortunitv iranstormi","word_num":"0","conf":"0.30000001192092896","level":"0","width":"0.053779064340794346"},{"line_num":"0","top":"0.42503987240829344","level":"0","block_num":"0","height":"0.014354066985646008","par_num":"0","conf":"1","left":"0.04651162811553962","page_num":"0","word_num":"0","text":"© ParticipantTransforme","width":"0.05377906941353007"},{"left":"0.04651163392347709","level":"0","text":"© PartnerTransformer.pr 197","height":"0.014354066985645897","width":"0.062499994927264275","word_num":"0","page_num":"0","conf":"0.5","block_num":"0","par_num":"0","top":"0.44577352472089316","line_num":"0"},{"top":"0.45993031360706227","par_num":"0","left":"0.04651162906671474","line_num":"0","page_num":"0","width":"0.0625","block_num":"0","height":"0.020930930568080597","word_num":"0","conf":"0.5","text":"PermissionTransforme 207","level":"0"},{"par_num":"0","block_num":"0","level":"0","line_num":"0","page_num":"0","conf":"1","text":"© PlaybackPageTransfor 208","word_num":"0","width":"0.06249999492726428","height":"0.013937280889143033","top":"0.480836237604209","left":"0.04651163392347692"},{"line_num":"0","left":"0.04613019401463979","height":"0.02713355835545017","block_num":"0","page_num":"0","conf":"0.5","text":"© PlaybookTransformer.| 214","par_num":"0","width":"0.06328295139556235","level":"0","top":"0.4894603462578542","word_num":"0"},{"height":"0.013937280889143033","left":"0.0465116291601091","par_num":"0","line_num":"0","conf":"1","page_num":"0","block_num":"0","text":"© PlaybookTreeTransfor 215","top":"0.5156794431791218","width":"0.0625","word_num":"0","level":"0"},{"block_num":"0","level":"0","height":"0.025212529743687373","page_num":"0","text":"PlaylistActivity Transfo 219","conf":"0.5","top":"0.5257682825257156","line_num":"0","width":"0.06437092639030295","par_num":"0","word_num":"0","left":"0.04486803039628711"},{"page_num":"0","line_num":"0","height":"0.017554973681387476","conf":"1","left":"0.045058142362285586","level":"0","top":"0.5470383276981478","par_num":"0","block_num":"0","text":"© PlaylistShares Transfor","word_num":"0","width":"0.05523255530824052"},{"level":"0","par_num":"0","block_num":"0","left":"0.044825099965545644","line_num":"0","height":"0.026066255341306244","conf":"0.30000001192092896","text":"PlaylistTransformer.ph 220","page_num":"0","top":"0.5598996602882182","width":"0.06447653567537348","word_num":"0"},{"top":"0.5818815335273336","level":"0","text":"© ProspectsTransformer 224","word_num":"0","height":"0.020989279617723233","conf":"1","left":"0.04651163273017683","block_num":"0","line_num":"0","page_num":"0","par_num":"0","width":"0.06249999492726427"},{"line_num":"0","page_num":"0","par_num":"0","width":"0.05523255530824051","word_num":"0","conf":"0.5","height":"0.017421602252187474","level":"0","block_num":"0","left":"0.046511630738155875","text":"© Question Transformer.f","top":"0.5993031359819202"},{"line_num":"0","block_num":"0","height":"0.017718908319062643","par_num":"0","page_num":"0","conf":"1","text":"© RecordTypeTransform","left":"0.04651163049602115","top":"0.6164274323902689","width":"0.05523255530824052","level":"0","word_num":"0"},{"text":"©Role Transformer.php","block_num":"0","line_num":"0","top":"0.6338298588528402","page_num":"0","width":"0.05263627843653902","word_num":"0","par_num":"0","conf":"0.5","height":"0.01826234905723556","level":"0","left":"0.046332942925410806"},{"text":"© ScopeGroupTransform","par_num":"0","width":"0.05377906941353006","conf":"1","level":"0","top":"0.6515151515151515","block_num":"0","page_num":"0","word_num":"0","line_num":"0","left":"0.04651162878645201","height":"0.01754385964912286"},{"height":"0.017613324252041984","line_num":"0","left":"0.04651162867901709","text":"© ScorecardRuleTransfo","conf":"0.5","block_num":"0","top":"0.6689895467998414","width":"0.05668604627568671","word_num":"0","par_num":"0","page_num":"0","level":"0"},{"left":"0.046511626761643825","line_num":"0","page_num":"0","par_num":"0","top":"0.6929824560019078","height":"0.007365975843852457","conf":"0.30000001192092896","level":"0","text":"(C) ScorecardRuleTriageri","block_num":"0","width":"0.05232557844608388","word_num":"0"},{"level":"0","word_num":"0","width":"0.05377906941353007","left":"0.04651162801125823","line_num":"0","conf":"0.30000001192092896","text":"eanrolararironerarmiar","top":"0.7108013937009908","height":"0.003484320602538671","block_num":"0","par_num":"0","page_num":"0"},{"height":"0.021531100478468956","width":"0.0625","block_num":"0","left":"0.046511628608493345","level":"0","par_num":"0","text":"© SearchTransformer.ph 235","word_num":"0","line_num":"0","conf":"1","page_num":"0","top":"0.7208931419457735"},{"word_num":"0","block_num":"0","top":"0.7456140349691501","page_num":"0","width":"0.06249998985452855","level":"0","height":"0.010483525776596836","line_num":"0","par_num":"0","text":"© SessionTranstormer.pl 2zol","left":"0.04651163792024965","conf":"0.30000001192092896"},{"level":"0","conf":"0.5","height":"0.00726872616027141","page_num":"0","width":"0.05232557844608388","word_num":"0","par_num":"0","text":"c) StageTranstormer.ohp","top":"0.7630662022542091","left":"0.046511626761643825","line_num":"0","block_num":"0"},{"text":"c) Statsfranstormer. ono","left":"0.046511634100427725","word_num":"0","height":"0.006968640444571572","top":"0.7804878052132543","line_num":"0","width":"0.05377906434079433","block_num":"0","page_num":"0","conf":"0.30000001192092896","level":"0","par_num":"0"},{"block_num":"0","conf":"0.5","height":"0.02202925765723518","level":"0","par_num":"0","top":"0.7905341930748886","word_num":"0","page_num":"0","text":"© TeamDomain Transforr 244","width":"0.06577757064332354","line_num":"0","left":"0.04489231677292379"},{"page_num":"0","height":"0.013937280889142922","top":"0.8083623703568222","text":"9 Teamintegration Trans","level":"0","conf":"0.5","left":"0.0450581395710419","line_num":"0","word_num":"0","block_num":"0","par_num":"0","width":"0.05377906434079433"},{"top":"0.8253889125175036","word_num":"0","conf":"1","width":"0.06577213267062573","text":"© TeamTransformer.php 245","block_num":"0","par_num":"0","line_num":"0","page_num":"0","height":"0.02219623888128297","level":"0","left":"0.04489334635932881"},{"word_num":"0","block_num":"0","level":"0","height":"0.010547432602877826","page_num":"0","par_num":"0","line_num":"0","top":"0.8500797447828127","conf":"0.30000001192092896","text":"© ThemeTransformer.ph 2/.","left":"0.046511635775982434","width":"0.061046503959818095"},{"page_num":"0","left":"0.04651163392347709","text":"© TopicTriggerTransforn 250","line_num":"0","width":"0.062499994927264275","conf":"0.5","block_num":"0","level":"0","par_num":"0","top":"0.8850174222731986","height":"0.013937280889143033","word_num":"0"},{"level":"0","left":"0.046511628899692445","page_num":"0","text":"© TrackTransformer.php 255","block_num":"0","line_num":"0","height":"0.017652222604462642","par_num":"0","top":"0.8987240833009619","width":"0.0625","conf":"1","word_num":"0"},{"left":"0.04651162826619669","level":"0","line_num":"0","height":"0.006968640444571461","word_num":"0","block_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.050872087478637695","page_num":"0","top":"0.9198606275129059","text":"(c) UcerTransformer nhn"},{"conf":"0.5","line_num":"0","level":"0","word_num":"0","height":"0.0071770334928229484","par_num":"0","width":"0.027616277654120266","block_num":"0","text":"(C) Kernel nhr","left":"0.040697675577357234","page_num":"0","top":"0.9545454545454546"},{"text":"public function transform(User $user): arrayf…..,","top":"0.306620209152652","width":"0.13081395372431331","level":"0","word_num":"0","left":"0.13081395475655594","height":"0.017421602252187474","block_num":"0","line_num":"0","page_num":"0","par_num":"0","conf":"0.5"},{"par_num":"0","level":"0","top":"0.3413078152757836","text":"public function includeTeam(User $user): Item(..,","page_num":"0","word_num":"0","conf":"0.5","block_num":"0","line_num":"0","width":"0.132267434546288","height":"0.017577201745917037","left":"0.13081395638320756"},{"text":"public function includeGroup(User $user): ?Itemf...,","line_num":"0","top":"0.37630662041817253","left":"0.1308139527063349","page_num":"0","height":"0.017632773428252202","level":"0","par_num":"0","block_num":"0","conf":"1","word_num":"0","width":"0.13808139841607275"},{"width":"0.13372092551373424","line_num":"0","left":"0.13081395820529515","word_num":"0","level":"0","conf":"0.5","block_num":"0","height":"0.017421602252187474","page_num":"0","par_num":"0","text":"public function includeJob(User $user): ?Itemf…..,","top":"0.4111498258773907"},{"word_num":"0","page_num":"0","top":"0.4457735248571584","block_num":"0","level":"0","line_num":"0","par_num":"0","width":"0.1206395372431329","height":"0.017641108572197806","conf":"1","left":"0.13081395224219824","text":"public function includeRoles(User Suser): Resi"},{"par_num":"0","width":"0.11918604627568671","text":"oubuc tunction incuuderermissionsuser suser","top":"0.4878048779994315","word_num":"0","left":"0.1308139536516389","line_num":"0","height":"0.006968641205077342","block_num":"0","conf":"0.30000001192092896","level":"0","page_num":"0"},{"line_num":"0","par_num":"0","conf":"0.5","width":"0.11773255530824053","top":"0.5223285486386577","level":"0","page_num":"0","height":"0.007288176096987731","block_num":"0","left":"0.13081395602119233","text":"pubuic function includeintearationsUser Suse","word_num":"0"},{"left":"0.13081395376804297","level":"0","block_num":"0","word_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","par_num":"0","width":"0.01598837020549368","height":"0.0071770334928229484","text":"1 usage","top":"0.5574162679425837"},{"line_num":"0","page_num":"0","block_num":"0","text":"orivate function getteamtiransformero: TransformerAbst","conf":"0.5","level":"0","par_num":"0","top":"0.5749128918999428","width":"0.14244186117293986","height":"0.00722426927070674","word_num":"0","left":"0.1308139531797565"},{"height":"0.011164274322169043","top":"0.6267942583732058","level":"0","word_num":"0","line_num":"0","left":"0.13081396156771388","width":"0.1409883499145508","text":"private function getGroupTransformer: GroupTransform","page_num":"0","par_num":"0","block_num":"0","conf":"1"},{"level":"0","par_num":"0","page_num":"0","width":"0.14244186117293986","left":"0.13081395197602838","conf":"1","line_num":"0","text":"private function getIntegrationsTransformer(): Integra","block_num":"0","height":"0.017421602252187585","top":"0.6759581887113045","word_num":"0"},{"block_num":"0","word_num":"0","height":"0.010716925017191126","level":"0","page_num":"0","conf":"1","line_num":"0","par_num":"0","top":"0.731707317588543","text":"private function getPermissionTransformer(: Permissid","left":"0.13081395339437096","width":"0.14098836006002224"},{"text":"1usage","top":"0.7700348435407804","par_num":"0","page_num":"0","block_num":"0","height":"0.006968640444571461","line_num":"0","width":"0.017441858636571994","conf":"0.30000001192092896","left":"0.13081395353055128","level":"0","word_num":"0"},{"conf":"1","block_num":"0","height":"0.01775780819249495","level":"0","text":"private function getRoleTransformer(): RoleTransformer","par_num":"0","width":"0.1424418611729399","top":"0.7804878056506809","line_num":"0","page_num":"0","word_num":"0","left":"0.13081395189676687"},{"par_num":"0","height":"0.017638329683878795","page_num":"0","block_num":"0","width":"0.1438953419949146","level":"0","left":"0.1308139603286792","line_num":"0","text":"private function getJobTitleTransformer(): JobTitleTra","top":"0.8325358855234419","conf":"1","word_num":"0"},{"level":"0","top":"0.8850174212397586","conf":"1","page_num":"0","par_num":"0","text":"private function getSidekickService(): SidekickService","block_num":"0","word_num":"0","line_num":"0","left":"0.13081396013674998","width":"0.14389534199491458","height":"0.01769390288722572"},{"page_num":"0","text":"private function getUserService(): UserServicet..,","top":"0.9370015946346707","left":"0.13081395593408146","width":"0.1351744164811804","height":"0.017702238031171325","word_num":"0","block_num":"0","level":"0","par_num":"0","line_num":"0","conf":"1"},{"block_num":"0","width":"0.018895348335834228","word_num":"0","par_num":"0","left":"0.32412790730010616","height":"0.017579980634236048","conf":"0.30000001192092896","top":"0.027874564707126015","line_num":"0","level":"0","page_num":"0","text":"→ C"},{"height":"0.010647461174777773","width":"0.06686046275686713","block_num":"0","text":"Platform Sprint 2 Q2 - Platform Te","conf":"0.5","level":"0","page_num":"0","par_num":"0","line_num":"0","word_num":"0","top":"0.06271777014712476","left":"0.27906976982649695"},{"line_num":"0","top":"0.09728867614662373","text":"WJY-203521 Svnc opportunities wit","left":"0.27761628883179823","word_num":"0","block_num":"0","par_num":"0","conf":"0.5","level":"0","page_num":"0","height":"0.007240940319103828","width":"0.0683139435788418"},{"par_num":"0","width":"0.06976743961902376","line_num":"0","block_num":"0","height":"0.017657780381100885","top":"0.12519936202646664","word_num":"0","page_num":"0","level":"0","conf":"0.5","text":"Jy-20157 add not enough activitie:","left":"0.2776162820003936"},{"width":"0.06831395372431331","block_num":"0","conf":"0.5","level":"0","line_num":"0","height":"0.017421602252187474","text":"G JY-20508 notify creator if ask-jimi","top":"0.15679442506438246","par_num":"0","left":"0.27761627744667006","word_num":"0","page_num":"0"},{"word_num":"0","height":"0.01767167330168451","level":"0","conf":"0.5","page_num":"0","top":"0.1913875597459146","block_num":"0","text":"Al reports promotion pages by","line_num":"0","width":"0.07267441648118039","left":"0.2776162819600469","par_num":"0"},{"block_num":"0","height":"0.01764944523715517","page_num":"0","width":"0.06831394865157753","conf":"0.5","text":"1 (UY-20725) Sentry Hubspot Rate","top":"0.28548644309059557","left":"0.28052326058327787","level":"0","line_num":"0","par_num":"0","word_num":"0"},{"conf":"0.5","par_num":"0","height":"0.017421602252187474","left":"0.28052325596588656","page_num":"0","level":"0","line_num":"0","top":"0.3170731707089818","width":"0.06686046275686713","word_num":"0","text":"(UY-20699] Wrong formatting for","block_num":"0"},{"height":"0.017421602252187474","left":"0.27761627967024355","text":"M Inbox (1,613) - lukas.kovalik@jimin","page_num":"0","top":"0.38327526141746027","level":"0","par_num":"0","width":"0.06831395372431331","conf":"0.5","word_num":"0","block_num":"0","line_num":"0"},{"left":"0.31250000036654374","text":"PS","top":"0.47735191652414066","page_num":"0","par_num":"0","line_num":"0","conf":"0.5","width":"0.02034883676691257","block_num":"0","height":"0.04181184723046405","word_num":"0","level":"0"},{"par_num":"0","block_num":"0","width":"0.07122092551373421","left":"0.2776162775347645","conf":"0.5","text":"z Configure SSH access to multiple e","word_num":"0","page_num":"0","height":"0.010622453461423431","level":"0","line_num":"0","top":"0.5818815337886577"},{"conf":"0.5","height":"0.01754385964912286","text":"Ca CloudWatch | us-east-2","page_num":"0","top":"0.613237639553429","word_num":"0","block_num":"0","par_num":"0","width":"0.05087209255137343","left":"0.2790697683395373","level":"0","line_num":"0"},{"conf":"0.30000001192092896","par_num":"0","height":"0.010608561301345465","page_num":"0","left":"0.2790697687728245","block_num":"0","line_num":"0","level":"0","text":"EC2 |us-east-2","top":"0.6480836237871124","width":"0.03488371980951188","word_num":"0"},{"left":"0.2863372108476308","conf":"0.5","block_num":"0","height":"0.007279840192536136","level":"0","par_num":"0","line_num":"0","top":"0.682615629913179","page_num":"0","text":"Postmark | OAl> Message Streams","width":"0.06104650395981809","word_num":"0"},{"top":"0.710526315967238","line_num":"0","height":"0.01769668025453308","left":"0.27761627898528585","page_num":"0","block_num":"0","text":"f Ask Jiminny Reports by nikolay-yar","par_num":"0","level":"0","width":"0.06976743961902376","word_num":"0","conf":"0.5"},{"line_num":"0","par_num":"0","left":"0.27761628365214025","conf":"0.30000001192092896","level":"0","page_num":"0","text":"1 APl usage quidelines and limits - H","word_num":"0","top":"0.7456140351751869","height":"0.010483525016091066","block_num":"0","width":"0.06831394865157764"},{"block_num":"0","conf":"0.5","text":"# (JY-20508] Notify a user before th","width":"0.07122092551373421","page_num":"0","word_num":"0","level":"0","left":"0.27761628352288614","top":"0.7767145135566188","line_num":"0","par_num":"0","height":"0.014354066985645897"},{"line_num":"0","block_num":"0","left":"0.27906976701368846","level":"0","page_num":"0","par_num":"0","height":"0.0071770334928229484","text":"- New Tab","conf":"1","top":"0.8118022328548644","word_num":"0","width":"0.021802326466174804"},{"text":"G.MA","height":"0.020905922094220375","par_num":"0","width":"0.06104650903255382","level":"0","block_num":"0","page_num":"0","top":"0.00000000045114767477372197","left":"0.8343023276421533","line_num":"0","word_num":"0","conf":"0.30000001192092896"},{"left":"0.8997093047364548","conf":"0.30000001192092896","height":"0.020905922094220375","block_num":"0","text":"* 100% C/ Mon 27 Apr 18:58:59","top":"0.00000000033500369145400555","word_num":"0","par_num":"0","width":"0.0959302313784336","level":"0","page_num":"0","line_num":"0"},{"level":"0","text":"© github.com/","top":"0.027874564640119837","width":"0.03488371980951188","block_num":"0","conf":"0.5","page_num":"0","height":"0.017579980634236048","left":"0.39244186049253094","word_num":"0","line_num":"0","par_num":"0"},{"word_num":"0","width":"0.03052325451627691","block_num":"0","line_num":"0","height":"0.017421602252187474","page_num":"0","level":"0","conf":"0.5","par_num":"0","left":"0.44476744301802434","text":"pp/pull/11998","top":"0.027874564553348802"},{"level":"0","width":"0.008720930014534889","left":"0.8895348837572674","block_num":"0","line_num":"0","word_num":"0","page_num":"0","conf":"1","par_num":"0","height":"0.02090592282229964","text":"*","top":"0.027874564459930307"},{"page_num":"0","left":"0.4767441866769079","line_num":"0","top":"0.07317073150107833","par_num":"0","block_num":"0","width":"0.02034883676691257","level":"0","word_num":"0","conf":"0.5","height":"0.013937282410154683","text":"8? Open"},{"height":"0.017421602252187585","word_num":"0","top":"0.06271777012826163","block_num":"0","left":"0.5029069814629333","width":"0.08284883296236079","level":"0","conf":"1","page_num":"0","par_num":"0","text":"Al reports promotion pages #11998","line_num":"0"},{"left":"0.5043604661707546","line_num":"0","conf":"1","par_num":"0","height":"0.010475189872145352","level":"0","word_num":"0","width":"0.2180232595890127","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages (","page_num":"0","top":"0.08362369354010668","block_num":"0"},{"word_num":"0","left":"0.6206395320015682","page_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","top":"0.10446570957187562","block_num":"0","conf":"0.30000001192092896","height":"0.010516868633896892","level":"0","line_num":"0","par_num":"0","width":"0.12936045261139562"},{"conf":"0.30000001192092896","left":"0.5145348831468808","line_num":"0","width":"0.024709303328331544","word_num":"0","block_num":"0","level":"0","par_num":"0","text":"leseeisve","height":"0.003484320602538671","page_num":"0","top":"0.1254355400369147"},{"conf":"1","text":"added at line 170","width":"0.04069767099745736","height":"0.017571645490290444","line_num":"0","par_num":"0","block_num":"0","left":"0.6206395381627619","level":"0","top":"0.11483253561555695","word_num":"0","page_num":"0"},{"height":"0.017621659395987477","level":"0","page_num":"0","width":"0.08720930586469933","par_num":"0","word_num":"0","line_num":"0","block_num":"0","text":"Wording inconsistency (modal vs inline)","conf":"1","left":"0.5145348823979694","top":"0.15311004765169978"},{"top":"0.14634146350805255","conf":"1","block_num":"0","text":"Fixed — both now say \"We will get in touch with you as soon","level":"0","page_num":"0","height":"0.017421602252187585","left":"0.6206395418885347","line_num":"0","width":"0.13226743454628798","word_num":"0","par_num":"0"},{"left":"0.6206395362891324","conf":"0.30000001192092896","level":"0","height":"0.006968641205077342","page_num":"0","text":"as possible.","block_num":"0","par_num":"0","line_num":"0","width":"0.027616277654120225","top":"0.16724738673389183","word_num":"0"},{"par_num":"0","text":"nrer compured calling can( a secona","page_num":"0","word_num":"0","line_num":"0","block_num":"0","level":"0","left":"0.514534888937681","conf":"0.30000001192092896","top":"0.1951219515547178","width":"0.08866277654120269","height":"0.006968640444571461"},{"width":"0.11482557337334809","word_num":"0","page_num":"0","level":"0","line_num":"0","left":"0.6206395390495294","block_num":"0","conf":"1","height":"0.01758831577818165","par_num":"0","text":"Fixed - canManageAiReports extracted as a shared","top":"0.18815331079259123"},{"page_num":"0","height":"0.017421602252187474","par_num":"0","line_num":"0","block_num":"0","text":"computed","width":"0.023255812360885253","level":"0","conf":"1","word_num":"0","left":"0.6220930244397125","top":"0.20557491298540453"},{"left":"0.5159883762736059","width":"0.08284883296236079","text":"trackInterest endpoint missing rate","top":"0.23344947777831704","level":"0","block_num":"0","par_num":"0","page_num":"0","word_num":"0","conf":"1","height":"0.017746694160230114","line_num":"0"},{"word_num":"0","level":"0","left":"0.5145348854641136","text":"limitina","top":"0.25435540103206966","par_num":"0","line_num":"0","conf":"1","page_num":"0","height":"0.006968640444571461","block_num":"0","width":"0.015988370205493596"},{"block_num":"0","line_num":"0","text":"Remaining issues","par_num":"0","left":"0.49709302452028853","width":"0.05087209255137343","conf":"1","level":"0","page_num":"0","word_num":"0","top":"0.31339712947633447","height":"0.017613322731030334"},{"height":"0.017807823619203744","page_num":"0","level":"0","word_num":"0","top":"0.24003189772282119","width":"0.05523255530824056","block_num":"0","line_num":"0","left":"0.6206395358560387","par_num":"0","conf":"1","text":"Still present (see below)"},{"par_num":"0","conf":"1","block_num":"0","top":"0.3484320557780526","left":"0.49709302738478434","height":"0.017596652443139016","word_num":"0","page_num":"0","text":"1. Extra DB query still fires on every page load","width":"0.10610464785961393","line_num":"0","level":"0"},{"height":"0.017632773428252313","conf":"1","left":"0.5000000050453576","level":"0","block_num":"0","par_num":"0","page_num":"0","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","width":"0.24709301806510764","top":"0.37630662036010043","line_num":"0","word_num":"0"},{"text":"$1","block_num":"0","height":"0.03484320450437517","conf":"0.5","word_num":"0","width":"0.01744185990475594","left":"0.39680232574045143","level":"0","line_num":"0","top":"0.47038327550623293","page_num":"0","par_num":"0"},{"width":"0.0159883714736776","text":"Slack","top":"0.5574912896404568","conf":"1","height":"0.017421602252187474","word_num":"0","block_num":"0","line_num":"0","page_num":"0","left":"0.3590116279501767","par_num":"0","level":"0"},{"par_num":"0","left":"0.6642441863210594","top":"0.47038327541618274","text":"N","word_num":"0","line_num":"0","width":"0.02470930205103361","height":"0.05923344881920245","conf":"1","level":"0","page_num":"0","block_num":"0"},{"level":"0","par_num":"0","block_num":"0","height":"0.01754385964912286","left":"0.500000002111116","word_num":"0","line_num":"0","conf":"0.5","width":"0.1773255733733481","page_num":"0","top":"0.5853269537480064","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-"},{"line_num":"0","page_num":"0","left":"0.5058139626900788","word_num":"0","level":"0","width":"0.2398255733733481","top":"0.6027874562178817","height":"0.01762721717262572","par_num":"0","block_num":"0","conf":"0.5","text":">remember(\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if"},{"width":"0.12499998985452854","left":"0.505813952429079","block_num":"0","level":"0","height":"0.007352082923268499","par_num":"0","text":"transtorm() Is callea multiple times in a single response.","word_num":"0","line_num":"0","conf":"0.5","page_num":"0","top":"0.6267942582824599"},{"left":"0.5014535009844836","page_num":"0","top":"0.6376306620707705","width":"0.25290696164394944","level":"0","conf":"1","par_num":"0","block_num":"0","height":"0.017421602252187474","word_num":"0","line_num":"0","text":"• Denormalised boolean: add a has_generated_ai_reports column to users , set/cleared by the report generation/"},{"conf":"1","left":"0.5058139616289973","height":"0.0071770334928229484","top":"0.6618819776714514","width":"0.10465115689216775","word_num":"0","page_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"deletion pipeline — eliminates the querv entirelv.","level":"0"},{"line_num":"0","top":"0.6864111503124573","conf":"0.5","left":"0.49709302362027963","height":"0.0177355801279655","word_num":"0","page_num":"0","par_num":"0","block_num":"0","text":"Fix this →","width":"0.023255812360885364","level":"0"},{"conf":"1","page_num":"0","width":"0.15697674041098741","par_num":"0","left":"0.4970930276209974","top":"0.742160278657975","height":"0.017807823619203744","word_num":"0","level":"0","text":"2. trackInterest endpoint has no rate limit or idempotency guard","line_num":"0","block_num":"0"},{"word_num":"0","block_num":"0","left":"0.5000000203396194","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.pho:40-53 / routes/","line_num":"0","conf":"1","height":"0.010452960286604362","level":"0","par_num":"0","page_num":"0","top":"0.7735191642817849","width":"0.2296511467466963"},{"conf":"0.5","height":"0.006968641205077342","block_num":"0","level":"0","page_num":"0","width":"0.026162791759409776","left":"0.4985465110243648","par_num":"0","word_num":"0","top":"0.7944250870436093","text":"api.php:282","line_num":"0"},{"text":"public function trackInterest(Request srequest): JsonResponse","top":"0.8325358853529533","height":"0.021122651046923346","page_num":"0","word_num":"0","par_num":"0","conf":"0.5","level":"0","left":"0.5029069742030985","width":"0.14680232392980697","block_num":"0","line_num":"0"},{"top":"0.8604465709728868","word_num":"0","page_num":"0","conf":"0.5","block_num":"0","height":"0.0071770334928229484","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs@:","left":"0.5116279148651706","width":"0.23255810839064572","level":"0","par_num":"0","line_num":"0"},{"width":"0.25581394357884196","page_num":"0","par_num":"0","block_num":"0","height":"0.010647460414272003","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","conf":"1","word_num":"0","line_num":"0","left":"0.49709303700672497","top":"0.9266347687970263","level":"0"},{"left":"0.49709303340128513","text":"api/v1/automated-reports/interest again and fire another Planhat event. Over time this couldaroduce duplicate","top":"0.9407665505780702","level":"0","height":"0.017766144857452204","conf":"1","page_num":"0","line_num":"0","width":"0.2470930180651077","block_num":"0","word_num":"0","par_num":"0"},{"top":"0.958188153403523","width":"0.05959302313784337","level":"0","line_num":"0","left":"0.49709302452315424","word_num":"0","block_num":"0","page_num":"0","conf":"1","height":"0.017421602252187474","par_num":"0","text":"tracking noise in analytics."}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4658
|
NULL
|
NULL
|
|
89227
|
HomeActivityLaterMoreslackVIewMistonWindowQ Descri HomeActivityLaterMoreslackVIewMistonWindowQ Describe what you are looking forJiminny... v@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga nlattorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages. Nikolay YankovP. Galya Dimitrova MA. Aneliya AngelovaeVacil Vasiler3 Aneliya Angelova,..C. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.P. Gabriela DurevaNikolay Yankov• MessagesAdd canvaur FilesFriday. April 24th~Lukas Kovalik 2:41 PMздрастище то погледнаNikolay Yankov 2:41 PMNikolay Yankov 7:44 PMЛукас, за понеделник, виж коментара от Claudehttps://@itnub.com/iminny/app/pull/1177oTodavLukas Kovalik 10:20 AMнаправих елна малка промяна в краина сметка, комитнах гоNikolay Yankov 10:20 AMsuperLukas Kovalik 10:20 AMtopa an favicon има ли си тикетNikolay Yankov 10:21 AMсамо ми писаако искаш си направи.даже по-добре да имаLukas Kovalik 10:21 ANхубаво ла напоавим, лоста време ми отнеме и май тоябва с Вес така иначе ла се видиот S3 изглежла илваNikolay Yankov 10:22 AMинтересноNikolay Yankov 12:32 PMПуснах пак ревю, я виж какво е написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?тояова ли ла го вкарваме в кешLukas Kovalik 6:56 PMНики погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоустановим. Това може да е по-бавно, но си e edge case.защо въобще е в UserTransformer, той се зарежда при много други случаи и реално полето ни трябва само за promotion страницане е ли по-добре да го четем от отделен endpoint::: AnndS Jira Cloud® ToastMessage Nikolay Yankov+ AaQA 10%4 & Mon27 Apr 18:59:02*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can( a seconaFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297hasgeneratedAiRevorts' => Sthis->aetAutomatedRenortsReoositorv->userReoortsExist(suser).IThe switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoson columns ( recinients->users . arouos) — these can't oe indexed etticientiv and willl dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"level":"0","block_num": [{"level":"0","block_num":"0","text":"Home","conf":"1","page_num":"0","left":"0.0058139540803213065","height":"0.013937282410154683","line_num":"0","par_num":"0","top":"0.13588850153592147","width":"0.011627906180442649","word_num":"0"},{"level":"0","line_num":"0","text":"Activity","word_num":"0","height":"0.017421602252187585","conf":"1","left":"0.004360465697692593","page_num":"0","width":"0.014534883042599294","par_num":"0","block_num":"0","top":"0.24390243911780862"},{"block_num":"0","conf":"1","height":"0.017421602252187585","line_num":"0","page_num":"0","text":"Later","level":"0","top":"0.35191637644359264","width":"0.008720929952377967","par_num":"0","word_num":"0","left":"0.007267442109566826"},{"par_num":"0","text":"More","width":"0.011627906180442649","conf":"1","top":"0.407665505020242","word_num":"0","page_num":"0","height":"0.013937282410154683","block_num":"0","left":"0.0058139540803213065","level":"0","line_num":"0"},{"page_num":"0","width":"0.013081394611520969","word_num":"0","level":"0","left":"0.015988371807611673","conf":"1","text":"slack","par_num":"0","top":"0.006968641450188162","block_num":"0","line_num":"0","height":"0.006968640444571461"},{"text":"VIew","word_num":"0","top":"0.006968641450188162","line_num":"0","block_num":"0","page_num":"0","left":"0.06395348930845732","width":"0.010174417749364326","par_num":"0","height":"0.006968640444571461","conf":"0.30000001192092896","level":"0"},{"top":"0.006968641450188162","width":"0.01598837020549368","height":"0.006968640444571461","line_num":"0","left":"0.09302325755713681","block_num":"0","level":"0","text":"Miston","par_num":"0","word_num":"0","conf":"0.30000001192092896","page_num":"0"},{"conf":"1","height":"0.017421602252187585","line_num":"0","page_num":"0","width":"0.01744185990475594","block_num":"0","left":"0.11482558143328095","text":"Window","par_num":"0","top":"-0.00000000002272559918026218","level":"0","word_num":"0"},{"width":"0.07267441648118039","left":"0.14098837474722473","word_num":"0","conf":"1","height":"0.017579980634236048","block_num":"0","line_num":"0","level":"0","text":"Q Describe what you are looking for","top":"0.027874564683673886","par_num":"0","page_num":"0"},{"height":"0.013951173809726769","block_num":"0","conf":"0.30000001192092896","par_num":"0","top":"0.06618819786721097","text":"Jiminny... v","word_num":"0","left":"0.02761628269152134","page_num":"0","width":"0.03633720570422234","level":"0","line_num":"0"},{"conf":"0.30000001192092896","left":"0.03343023162082732","text":"@ jiminny-x-integrati","top":"0.09407665591941561","height":"0.010452960286604362","width":"0.04941860158392724","par_num":"0","level":"0","word_num":"0","block_num":"0","line_num":"0","page_num":"0"},{"par_num":"0","height":"0.017571645490290444","text":"& platform-inner-team","word_num":"0","line_num":"0","conf":"0.5","block_num":"0","left":"0.03343023206285708","top":"0.11483253574621899","width":"0.05377906941353006","level":"0","page_num":"0"},{"height":"0.01754385964912275","width":"0.029069766085198585","word_num":"0","block_num":"0","conf":"0.30000001192092896","level":"0","par_num":"0","line_num":"0","page_num":"0","text":"© Channels","left":"0.029069768796061723","top":"0.14274322169059017"},{"word_num":"0","line_num":"0","level":"0","height":"0.01843704941550317","page_num":"0","top":"0.16673966325440914","block_num":"0","conf":"1","left":"0.0333854731523376","text":"# ai-chapter","width":"0.03351975248215046","par_num":"0"},{"page_num":"0","level":"0","par_num":"0","text":"# alerts","width":"0.020348835498728644","word_num":"0","height":"0.010703032096607279","conf":"0.5","block_num":"0","left":"0.03343023239598461","top":"0.191387559849034","line_num":"0"},{"height":"0.007257612128006796","conf":"0.30000001192092896","block_num":"0","left":"0.034883720326690446","page_num":"0","line_num":"0","text":"i backend","par_num":"0","level":"0","top":"0.2160278744399171","word_num":"0","width":"0.026162791759409804"},{"page_num":"0","top":"0.23344947772024505","height":"0.017746694160230225","level":"0","width":"0.045058138827060126","word_num":"0","par_num":"0","block_num":"0","left":"0.03343023220953198","text":"# confusion-clinic","conf":"0.5","line_num":"0"},{"width":"0.03779069667166852","conf":"1","line_num":"0","block_num":"0","left":"0.033430233415436834","word_num":"0","top":"0.25757575757575757","par_num":"0","height":"0.014354066985645897","page_num":"0","text":"# curiosity_lab","level":"0"},{"level":"0","left":"0.03343023248338709","width":"0.03633720824059019","block_num":"0","conf":"1","top":"0.2787456450411536","height":"0.017421602252187585","text":"# engineering","par_num":"0","page_num":"0","word_num":"0","line_num":"0"},{"page_num":"0","word_num":"0","line_num":"0","par_num":"0","block_num":"0","height":"0.010558546635142552","text":"# generall","width":"0.026162789223041938","conf":"0.5","left":"0.03343023460359518","top":"0.3030303029362562","level":"0"},{"word_num":"0","conf":"1","left":"0.033430233678823834","width":"0.04069767353382517","par_num":"0","level":"0","page_num":"0","block_num":"0","text":"# infra-changes","line_num":"0","height":"0.017699459142852314","top":"0.3237639551848104"},{"height":"0.017421602252187474","par_num":"0","page_num":"0","line_num":"0","block_num":"0","level":"0","left":"0.03343023267189024","text":"# jiminny-bg","conf":"1","width":"0.03343023137843355","word_num":"0","top":"0.3449477351689121"},{"left":"0.03343023160068563","block_num":"0","conf":"0.30000001192092896","height":"0.006968641205077342","line_num":"0","page_num":"0","par_num":"0","text":"a nlattorm-nckets","width":"0.04360465293234968","word_num":"0","top":"0.3728222995949062","level":"0"},{"block_num":"0","level":"0","height":"0.01771335206343605","par_num":"0","width":"0.04941860158392724","left":"0.03343023562535342","text":"# product_launches","line_num":"0","conf":"1","word_num":"0","page_num":"0","top":"0.3899521529042582"},{"top":"0.41463414720861425","level":"0","width":"0.026162789223041945","text":"# random","block_num":"0","page_num":"0","conf":"1","height":"0.010452960286604362","word_num":"0","line_num":"0","left":"0.033430231987316365","par_num":"0"},{"line_num":"0","height":"0.014354066985646008","left":"0.033430233971852706","text":"# releases","par_num":"0","page_num":"0","top":"0.43540669856459324","word_num":"0","block_num":"0","level":"0","width":"0.02761627765412026","conf":"1"},{"left":"0.03343023258555416","par_num":"0","height":"0.017727244984020007","conf":"1","word_num":"0","width":"0.034883719809511875","block_num":"0","level":"0","line_num":"0","page_num":"0","text":"# sofia-office","top":"0.45614035056563407"},{"level":"0","par_num":"0","word_num":"0","block_num":"0","text":"# support","height":"0.013937282410154683","top":"0.48083623672755915","left":"0.033430233969918705","page_num":"0","conf":"0.5","width":"0.027616277654120266","line_num":"0"},{"line_num":"0","conf":"1","par_num":"0","width":"0.03488371980951188","top":"0.5015948961656965","level":"0","page_num":"0","word_num":"0","text":"# thank-yous","height":"0.017568866601971322","block_num":"0","left":"0.0334302336998952"},{"top":"0.5223285484012261","level":"0","block_num":"0","text":"# the_people_of jimi...","width":"0.05523255530824053","page_num":"0","height":"0.017741137904603632","conf":"0.5","word_num":"0","left":"0.033430235379805606","line_num":"0","par_num":"0"},{"height":"0.017763365969133194","page_num":"0","conf":"0.30000001192092896","level":"0","left":"0.029069768385209225","word_num":"0","text":"• Direct messages","top":"0.5540069688436597","width":"0.04505813882706014","block_num":"0","par_num":"0","line_num":"0"},{"left":"0.03315112929498593","line_num":"0","par_num":"0","text":". Nikolay Yankov","block_num":"0","word_num":"0","page_num":"0","top":"0.5742437870873378","conf":"0.5","height":"0.022105172870642065","level":"0","width":"0.04410918722761439"},{"block_num":"0","height":"0.021030958379474662","line_num":"0","conf":"0.30000001192092896","par_num":"0","text":"P. Galya Dimitrova M","page_num":"0","top":"0.5956937797519628","level":"0","word_num":"0","width":"0.05232557844608388","left":"0.033430233466317634"},{"page_num":"0","block_num":"0","par_num":"0","height":"0.017749473048549347","word_num":"0","line_num":"0","left":"0.03343023353108929","text":"A. Aneliya Angelova","top":"0.6202090594836914","level":"0","conf":"0.5","width":"0.047965115689216783"},{"conf":"0.30000001192092896","par_num":"0","width":"0.034883719809511875","line_num":"0","level":"0","block_num":"0","page_num":"0","left":"0.03343023352623691","height":"0.006968641205077342","top":"0.6480836236338143","word_num":"0","text":"eVacil Vasiler"},{"width":"0.05087209255137342","height":"0.017421602252187585","word_num":"0","block_num":"0","conf":"0.5","line_num":"0","par_num":"0","level":"0","text":"3 Aneliya Angelova,..","left":"0.0334302335571803","top":"0.6655052266903987","page_num":"0"},{"height":"0.0177355801279655","line_num":"0","block_num":"0","page_num":"0","par_num":"0","level":"0","left":"0.0334302320269567","text":"C. Nikolay Ivanov","width":"0.04215116196490349","word_num":"0","conf":"0.5","top":"0.6864111500801692"},{"block_num":"0","line_num":"0","text":"R. Nikolay Nikolov","par_num":"0","top":"0.710526315793022","conf":"0.5","width":"0.045058138827060126","left":"0.033430233608541776","height":"0.01769668025453308","word_num":"0","level":"0","page_num":"0"},{"text":"fl. Stefka Stoyanova","top":"0.7317073172101431","line_num":"0","block_num":"0","level":"0","height":"0.017421602252187585","width":"0.04796511568921677","par_num":"0","conf":"0.30000001192092896","page_num":"0","word_num":"0","left":"0.0334302335307816"},{"block_num":"0","level":"0","page_num":"0","conf":"1","par_num":"0","text":"R. Adelina Petrova","height":"0.017721687207381653","word_num":"0","left":"0.03343023190749662","line_num":"0","width":"0.04505813882706013","top":"0.752613240720201"},{"par_num":"0","top":"0.7767145135705419","width":"0.04069767353382516","height":"0.01771057317511704","level":"0","page_num":"0","conf":"0.5","text":"R. Stoyan Tomov","line_num":"0","block_num":"0","word_num":"0","left":"0.03343023367505823"},{"conf":"1","top":"0.8013937287417153","left":"0.0334302366242539","page_num":"0","level":"0","block_num":"0","par_num":"0","height":"0.010452960286604362","line_num":"0","text":"( Petko Kashinski","width":"0.043604647859613946","word_num":"0"},{"width":"0.045058138827060126","conf":"0.5","block_num":"0","word_num":"0","left":"0.033430233608541776","top":"0.8221690590544602","level":"0","height":"0.017552194793068465","line_num":"0","par_num":"0","text":"88. Mario Georgiev","page_num":"0"},{"level":"0","word_num":"0","text":"Ss: Todor Stamatov.","par_num":"0","line_num":"0","left":"0.03343023662617514","width":"0.043604647859613946","page_num":"0","conf":"0.5","height":"0.010566881779088155","block_num":"0","top":"0.8466898963487846"},{"page_num":"0","conf":"0.5","par_num":"0","text":"P. Gabriela Dureva","width":"0.04505813882706013","word_num":"0","line_num":"0","height":"0.017421602252187474","block_num":"0","left":"0.03343023190749662","level":"0","top":"0.8641114982351142"},{"conf":"0.5","word_num":"0","block_num":"0","top":"0.06271777048382365","level":"0","left":"0.113372094092083","height":"0.021014286570571916","par_num":"0","text":"Nikolay Yankov","line_num":"0","width":"0.05377906941353007","page_num":"0"},{"conf":"1","text":"• Messages","word_num":"0","left":"0.10465116432315079","width":"0.024709300791963637","height":"0.01059744650857486","top":"0.10104529652728955","par_num":"0","page_num":"0","level":"0","block_num":"0","line_num":"0"},{"page_num":"0","width":"0.029069766085198567","line_num":"0","conf":"0.30000001192092896","top":"0.1044657097288676","word_num":"0","block_num":"0","par_num":"0","level":"0","height":"0.0071770334928229484","left":"0.13517441978456218","text":"Add canva"},{"conf":"0.30000001192092896","page_num":"0","par_num":"0","line_num":"0","word_num":"0","level":"0","left":"0.17005813961545385","text":"ur Files","top":"0.1044657097288676","height":"0.0071770334928229484","block_num":"0","width":"0.017441858636572022"},{"left":"0.2776162829680394","level":"0","line_num":"0","block_num":"0","text":"Friday. April 24th~","top":"0.1323763954031456","page_num":"0","height":"0.010480746888277825","width":"0.039244182566379016","conf":"0.5","par_num":"0","word_num":"0"},{"line_num":"0","left":"0.11627906900067847","par_num":"0","page_num":"0","conf":"1","height":"0.017421602252187474","block_num":"0","text":"Lukas Kovalik 2:41 PM","width":"0.05087209255137343","word_num":"0","top":"0.1567944255289585","level":"0"},{"block_num":"0","height":"0.006968640444571572","conf":"1","left":"0.11627906960528693","text":"здрасти","top":"0.18118466932475252","par_num":"0","width":"0.020348835498728665","word_num":"0","line_num":"0","level":"0","page_num":"0"},{"block_num":"0","level":"0","text":"ще то погледна","conf":"0.5","width":"0.03779069413530067","left":"0.11627906959401071","line_num":"0","page_num":"0","par_num":"0","word_num":"0","height":"0.007343747018817126","top":"0.20557491325434107"},{"width":"0.053779069413530056","left":"0.11773255928757967","conf":"1","text":"Nikolay Yankov 2:41 PM","top":"0.2229965155705136","block_num":"0","level":"0","height":"0.013937282410154683","par_num":"0","word_num":"0","line_num":"0","page_num":"0"},{"top":"0.2717770037782289","left":"0.11773256082331715","page_num":"0","height":"0.017696680254533192","line_num":"0","par_num":"0","text":"Nikolay Yankov 7:44 PM","width":"0.05523255530824053","word_num":"0","level":"0","conf":"1","block_num":"0"},{"top":"0.29266347702174356","line_num":"0","word_num":"0","conf":"1","left":"0.11773256283566556","text":"Лукас, за понеделник, виж коментара от Claude","par_num":"0","level":"0","page_num":"0","width":"0.11046510047100959","block_num":"0","height":"0.010472410983826341"},{"par_num":"0","text":"https://@itnub.com/iminny/app/pull/1177o","word_num":"0","conf":"0.5","block_num":"0","left":"0.11773256037596344","height":"0.006968640444571572","top":"0.31358885050942154","width":"0.09447673026551592","page_num":"0","level":"0","line_num":"0"},{"page_num":"0","conf":"0.30000001192092896","height":"0.006968640444571572","par_num":"0","top":"0.3449477355268431","level":"0","text":"Todav","left":"0.2892441877896949","block_num":"0","line_num":"0","width":"0.015988370205493707","word_num":"0"},{"height":"0.01754385964912275","top":"0.3692185007974482","left":"0.11773256206441479","level":"0","line_num":"0","block_num":"0","conf":"1","par_num":"0","text":"Lukas Kovalik 10:20 AM","word_num":"0","page_num":"0","width":"0.05377906434079435"},{"conf":"0.5","par_num":"0","top":"0.3937282233317212","page_num":"0","block_num":"0","left":"0.11627907700687472","level":"0","height":"0.006968640444571572","word_num":"0","text":"направих елна малка промяна в краина сметка, комитнах го","line_num":"0","width":"0.14098834991455078"},{"width":"0.0566860462756867","height":"0.017421602252187474","conf":"1","level":"0","word_num":"0","block_num":"0","text":"Nikolay Yankov 10:20 AM","page_num":"0","top":"0.4111498258773907","par_num":"0","left":"0.11773255937818321","line_num":"0"},{"height":"0.006968641205077342","line_num":"0","level":"0","width":"0.01162790618044264","par_num":"0","text":"super","top":"0.4355400697284718","block_num":"0","page_num":"0","conf":"1","word_num":"0","left":"0.11773255853768565"},{"level":"0","width":"0.05377906941353007","conf":"1","block_num":"0","page_num":"0","left":"0.11773255943718407","text":"Lukas Kovalik 10:20 AM","top":"0.4529505582137161","par_num":"0","line_num":"0","word_num":"0","height":"0.01754385964912286"},{"left":"0.1177325653947265","par_num":"0","line_num":"0","text":"topa an favicon има ли си тикет","top":"0.4736842105263157","level":"0","width":"0.07267441140844468","word_num":"0","conf":"0.30000001192092896","block_num":"0","height":"0.0071770334928230595","page_num":"0"},{"width":"0.0566860462756867","page_num":"0","block_num":"0","line_num":"0","level":"0","height":"0.014354066985645897","par_num":"0","left":"0.11773255937818321","conf":"1","text":"Nikolay Yankov 10:21 AM","top":"0.49441786283891553","word_num":"0"},{"level":"0","height":"0.013937282410154683","conf":"1","block_num":"0","page_num":"0","par_num":"0","text":"само ми писа","width":"0.03488371980951188","left":"0.1162790708791426","line_num":"0","top":"0.5365853656474198","word_num":"0"},{"line_num":"0","top":"0.5644599307143667","height":"0.007310404161517181","left":"0.11627907367322542","level":"0","conf":"0.5","word_num":"0","block_num":"0","par_num":"0","text":"ако искаш си направи.","page_num":"0","width":"0.05232557844608389"},{"level":"0","height":"0.014354066985645897","top":"0.5853269537480064","word_num":"0","text":"даже по-добре да има","block_num":"0","width":"0.05523256038097625","page_num":"0","conf":"1","left":"0.11627906841945591","line_num":"0","par_num":"0"},{"word_num":"0","height":"0.010658574446536728","level":"0","block_num":"0","conf":"0.5","line_num":"0","par_num":"0","top":"0.6097560984287775","text":"Lukas Kovalik 10:21 AN","width":"0.052325573373348144","left":"0.11627907218491895","page_num":"0"},{"left":"0.11627907656195002","conf":"0.5","height":"0.007296512001439104","line_num":"0","page_num":"0","top":"0.6306620207999295","block_num":"0","par_num":"0","width":"0.2005813882706013","word_num":"0","text":"хубаво ла напоавим, лоста време ми отнеме и май тоябва с Вес така иначе ла се види","level":"0"},{"left":"0.47674418604651164","level":"0","line_num":"0","width":"0.008720929941860467","page_num":"0","par_num":"0","height":"0.017421602206736386","text":"","word_num":"0","block_num":"0","conf":"0.30000001192092896","top":"0.02787456492450635"},{"line_num":"0","left":"0.11773255868248265","height":"0.007315961938155313","width":"0.047965115689216783","level":"0","page_num":"0","conf":"0.5","par_num":"0","block_num":"0","word_num":"0","top":"0.654704944081909","text":"от S3 изглежла илва"},{"width":"0.058139532170397176","height":"0.01764666634883605","line_num":"0","left":"0.11627907203076397","level":"0","par_num":"0","page_num":"0","text":"Nikolay Yankov 10:22 AM","block_num":"0","conf":"1","top":"0.6722488036988071","word_num":"0"},{"text":"интересно","top":"0.6968641118334633","width":"0.024709300791963623","height":"0.006968640444571572","block_num":"0","page_num":"0","word_num":"0","par_num":"0","line_num":"0","left":"0.11773255767087878","level":"0","conf":"0.5"},{"par_num":"0","text":"Nikolay Yankov 12:32 PM","height":"0.017771701113078797","block_num":"0","page_num":"0","width":"0.0566860462756867","line_num":"0","left":"0.11773255937818321","conf":"1","word_num":"0","top":"0.7142857147783611","level":"0"},{"left":"0.11773256945010184","text":"Пуснах пак ревю, я виж какво е написало","word_num":"0","conf":"0.5","level":"0","line_num":"0","par_num":"0","page_num":"0","block_num":"0","top":"0.7351916381493807","height":"0.010452960286604362","width":"0.09593022123296212"},{"par_num":"0","top":"0.759581882228663","word_num":"0","height":"0.010753046002304312","left":"0.11627905930759223","width":"0.2005813882706013","conf":"1","page_num":"0","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","block_num":"0","level":"0","line_num":"0"},{"height":"0.006968641205077342","block_num":"0","par_num":"0","text":"тояова ли ла го вкарваме в кеш","top":"0.7804878048513398","line_num":"0","left":"0.11773256020096683","level":"0","page_num":"0","width":"0.07267441648118038","word_num":"0","conf":"0.5"},{"page_num":"0","height":"0.017421602252187474","conf":"1","left":"0.11627907043577168","top":"0.7979094082234998","text":"Lukas Kovalik 6:56 PM","par_num":"0","level":"0","line_num":"0","block_num":"0","width":"0.05087209255137343","word_num":"0"},{"par_num":"0","block_num":"0","left":"0.11773260577984117","word_num":"0","page_num":"0","width":"0.3691859955483294","top":"0.8149920256066847","text":"Ники погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го","height":"0.017760587080814072","line_num":"0","conf":"0.5","level":"0"},{"width":"0.1279069717894209","line_num":"0","text":"установим. Това може да е по-бавно, но си e edge case.","par_num":"0","left":"0.11627906425947741","height":"0.010653017430404366","level":"0","conf":"1","page_num":"0","top":"0.8362369346087396","word_num":"0","block_num":"0"},{"level":"0","text":"защо въобще е в UserTransformer, той се зарежда при много други случаи и реално полето ни трябва само за promotion страница","page_num":"0","left":"0.11627907777661689","height":"0.017657780381100774","par_num":"0","block_num":"0","width":"0.30232557337334814","word_num":"0","conf":"1","top":"0.8571428574182165","line_num":"0"},{"top":"0.8811802235003486","conf":"1","level":"0","page_num":"0","line_num":"0","left":"0.1162790788027067","text":"не е ли по-добре да го четем от отделен endpoint","height":"0.017774480001397808","block_num":"0","width":"0.11773254516276908","par_num":"0","word_num":"0"},{"line_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.01068358215989107","top":"0.8987240829657562","page_num":"0","level":"0","text":"::: Annd","par_num":"0","left":"0.029069768094866402","width":"0.018895348335834262","word_num":"0"},{"word_num":"0","block_num":"0","top":"0.9198606275759968","page_num":"0","line_num":"0","left":"0.03343023298627709","level":"0","par_num":"0","height":"0.017421602252187474","text":"S Jira Cloud","width":"0.03197674294735524","conf":"0.5"},{"par_num":"0","text":"® Toast","left":"0.03343023412519857","top":"0.9407665505780702","conf":"0.30000001192092896","width":"0.023255812360885295","line_num":"0","level":"0","word_num":"0","block_num":"0","page_num":"0","height":"0.017766144857452204"},{"text":"Message Nikolay Yankov","top":"0.9198606271549747","width":"0.0566860462756867","left":"0.10610465023724454","line_num":"0","conf":"1","height":"0.017421602252187474","block_num":"0","page_num":"0","par_num":"0","word_num":"0","level":"0"},{"height":"0.017680009966641874","conf":"0.30000001192092896","width":"0.018895348335834256","word_num":"0","left":"0.10755814010049372","block_num":"0","level":"0","line_num":"0","page_num":"0","par_num":"0","text":"+ Aa","top":"0.9512195119378624"},{"left":"0.8343023231967981","height":"0.020905922094220375","word_num":"0","level":"0","conf":"0.30000001192092896","text":"QA 10%4 & Mon27 Apr 18:59:02","par_num":"0","top":"0.00000000033500369145400555","line_num":"0","page_num":"0","width":"0.16133721331332596","block_num":"0"},{"width":"0.008720930014534889","left":"0.8895348839026164","height":"0.02090592282229975","word_num":"0","block_num":"0","top":"0.027874564982578343","par_num":"0","conf":"0.5","line_num":"0","page_num":"0","level":"0","text":"*"},{"conf":"1","left":"0.5029069814629333","level":"0","text":"Al reports promotion pages #11998","block_num":"0","page_num":"0","height":"0.017421602252187585","line_num":"0","par_num":"0","top":"0.06271777012826163","width":"0.08284883296236079","word_num":"0"},{"left":"0.5029069820387471","top":"0.08362369354010668","line_num":"0","width":"0.21947674041098741","word_num":"0","level":"0","page_num":"0","conf":"1","block_num":"0","par_num":"0","height":"0.010475189872145352","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages"},{"conf":"0.30000001192092896","height":"0.007327075970420038","page_num":"0","left":"0.515988370209941","block_num":"0","text":"ranoramakeportsrrono leatures gria nou","par_num":"0","word_num":"0","level":"0","line_num":"0","top":"0.10765550223535247","width":"0.08720929571922797"},{"level":"0","conf":"0.30000001192092896","height":"0.010516868633896892","page_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","word_num":"0","top":"0.10446570957187562","line_num":"0","block_num":"0","left":"0.6206395320015682","par_num":"0","width":"0.12936045261139562"},{"conf":"0.30000001192092896","width":"0.023255814897253146","height":"0.003484320602538671","level":"0","text":"leseeis","block_num":"0","left":"0.5145348831763734","line_num":"0","page_num":"0","word_num":"0","par_num":"0","top":"0.12543554003627422"},{"par_num":"0","top":"0.11483253561555695","left":"0.6206395381627619","text":"added at line 170","conf":"1","line_num":"0","height":"0.017571645490290444","level":"0","page_num":"0","width":"0.04069767099745736","block_num":"0","word_num":"0"},{"par_num":"0","text":"Fixed - both now say \"We will get in touch with you as soon","top":"0.14274322169059017","width":"0.1308139435788419","word_num":"0","left":"0.6206395418231858","line_num":"0","block_num":"0","page_num":"0","conf":"1","height":"0.01754385964912275","level":"0"},{"height":"0.017621659395987477","text":"Wording inconsistency (modal vs inline)","top":"0.15311004759362778","block_num":"0","par_num":"0","left":"0.5145348893682301","page_num":"0","width":"0.08720929571922786","conf":"1","word_num":"0","line_num":"0","level":"0"},{"left":"0.6206395362891324","level":"0","line_num":"0","par_num":"0","conf":"0.5","height":"0.006968641205077342","block_num":"0","text":"as possible.","top":"0.16724738673389183","width":"0.027616277654120225","word_num":"0","page_num":"0"},{"page_num":"0","level":"0","height":"0.006968640444571461","line_num":"0","conf":"0.30000001192092896","block_num":"0","text":"nrer compured calling can( a secona","left":"0.514534888937681","width":"0.08866277654120269","top":"0.1951219515547178","word_num":"0","par_num":"0"},{"line_num":"0","page_num":"0","height":"0.0175883172991933","width":"0.11482557337334798","word_num":"0","block_num":"0","text":"Fixed - canManageAiReports extracted as a shared","left":"0.620639539097222","par_num":"0","conf":"1","top":"0.18815330979979739","level":"0"},{"conf":"1","block_num":"0","height":"0.017421602252187474","left":"0.6220930244397125","level":"0","line_num":"0","text":"computed","par_num":"0","top":"0.20557491298540453","width":"0.023255812360885253","word_num":"0","page_num":"0"},{"block_num":"0","level":"0","page_num":"0","left":"0.5145348842644298","top":"0.20557491302895847","conf":"1","line_num":"0","height":"0.017421602252187585","width":"0.011627906180442626","word_num":"0","par_num":"0","text":"time"},{"block_num":"0","height":"0.017746694160230114","page_num":"0","top":"0.23344947777831704","width":"0.08284883296236079","word_num":"0","conf":"1","left":"0.5159883762736059","line_num":"0","text":"trackInterest endpoint missing rate","level":"0","par_num":"0"},{"block_num":"0","height":"0.006968640444571461","level":"0","line_num":"0","page_num":"0","left":"0.5145348854641136","text":"limitina","word_num":"0","top":"0.25435540103206966","width":"0.015988370205493596","par_num":"0","conf":"1"},{"par_num":"0","width":"0.05523255530824056","height":"0.017807823619203744","block_num":"0","line_num":"0","conf":"1","page_num":"0","text":"Still present (see below)","word_num":"0","level":"0","top":"0.24003189772282119","left":"0.6206395358560387"},{"level":"0","top":"0.31339712947633447","width":"0.049418601583927246","line_num":"0","word_num":"0","conf":"1","height":"0.017613322731030334","block_num":"0","left":"0.49854651467944094","page_num":"0","par_num":"0","text":"Remaining issues"},{"height":"0.017596652443139016","level":"0","par_num":"0","width":"0.10319766592472168","line_num":"0","text":". Extra DB query still fires on every page load","top":"0.34843205595226867","word_num":"0","page_num":"0","conf":"0.5","left":"0.500000004738088","block_num":"0"},{"width":"0.24709301806510764","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","par_num":"0","line_num":"0","word_num":"0","conf":"1","height":"0.017632773428252313","level":"0","page_num":"0","left":"0.4999999984771364","block_num":"0","top":"0.3763066205923885"},{"top":"0.4216027874137215","page_num":"0","level":"0","left":"0.5029069805182762","line_num":"0","height":"0.006968641205077342","text":"hasgeneratedAiRevorts' => Sthis->aetAutomatedRenortsReoositorv->userReoortsExist(suser).I","width":"0.21947674041098741","conf":"0.5","block_num":"0","par_num":"0","word_num":"0"},{"height":"0.017741137904603743","line_num":"0","conf":"0.5","page_num":"0","par_num":"0","left":"0.5000000072941873","top":"0.45993031375224214","width":"0.24127905419532292","word_num":"0","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","level":"0","block_num":"0"},{"text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","block_num":"0","word_num":"0","height":"0.013937282410154683","level":"0","conf":"1","top":"0.4773519162821602","left":"0.49999999992732563","line_num":"0","page_num":"0","par_num":"0","width":"0.25000000000000006"},{"line_num":"0","width":"0.24854649888708236","level":"0","top":"0.4912280702286602","conf":"1","par_num":"0","left":"0.5014534918272605","word_num":"0","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","height":"0.020967051553193783","page_num":"0","block_num":"0"},{"par_num":"0","text":"son columns ( recinients->users . arouos) — these can't oe indexed etticientiv and willl dearade as the","left":"0.5000000052194282","page_num":"0","top":"0.5156794428439163","block_num":"0","line_num":"0","level":"0","width":"0.22819764563377876","conf":"0.5","word_num":"0","height":"0.006968640444571572"},{"par_num":"0","height":"0.0073381900026847635","left":"0.5014534853695082","block_num":"0","width":"0.08720930586469933","text":"uaaested mitiaations (in order of effort):","word_num":"0","conf":"1","level":"0","top":"0.5606060607314207","line_num":"0","page_num":"0"},{"conf":"1","par_num":"0","left":"0.5014534869745092","line_num":"0","page_num":"0","block_num":"0","width":"0.17587209255137348","word_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","height":"0.01754385964912286","level":"0","top":"0.5853269537480064"},{"word_num":"0","page_num":"0","width":"0.2398255733733481","conf":"0.5","height":"0.01762721717262572","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","level":"0","left":"0.5058139626900788","par_num":"0","block_num":"0","line_num":"0","top":"0.6027874562178817"},{"level":"0","block_num":"0","par_num":"0","text":"transtorm() Is called multiple times in a single response","word_num":"0","width":"0.12354649888708236","conf":"0.5","height":"0.007352082923268499","line_num":"0","left":"0.5072674434499944","top":"0.6267942582824599","page_num":"0"},{"page_num":"0","line_num":"0","word_num":"0","top":"0.6376306621143244","conf":"1","level":"0","par_num":"0","left":"0.500000009904769","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/","height":"0.017421602252187474","block_num":"0","width":"0.2558139435788419"},{"level":"0","block_num":"0","text":"deletion pipeline — eliminates the querv entirelv.","page_num":"0","width":"0.10465115689216775","line_num":"0","height":"0.0071770334928229484","conf":"1","par_num":"0","top":"0.6618819776714514","word_num":"0","left":"0.5058139616289973"},{"conf":"1","level":"0","height":"0.013937282410154683","par_num":"0","left":"0.5000000014415185","block_num":"0","text":"Fix this →","top":"0.6864111496195452","word_num":"0","width":"0.021802323929806966","page_num":"0","line_num":"0"},{"block_num":"0","text":"2. trackInterest endpoint has no rate limit or idempotency guard","conf":"1","par_num":"0","word_num":"0","left":"0.4985465185881723","page_num":"0","height":"0.017807823619203744","top":"0.742160278657975","width":"0.15552324944354118","line_num":"0","level":"0"},{"width":"0.22824831211820562","line_num":"0","top":"0.7722896015036981","block_num":"0","height":"0.015257937295965363","conf":"1","level":"0","par_num":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","left":"0.49996836441857584","word_num":"0","page_num":"0"},{"width":"0.02470930332833149","conf":"0.5","left":"0.4999999995712994","level":"0","height":"0.006968641205077342","par_num":"0","top":"0.7944250870834626","page_num":"0","word_num":"0","line_num":"0","text":"pi.php:282","block_num":"0"},{"page_num":"0","conf":"0.5","level":"0","block_num":"0","left":"0.5029069986857431","par_num":"0","width":"0.14680230363886415","text":"public function trackInterest(Request srequest): JsonResponse","top":"0.8325358852423792","height":"0.021122649525911585","word_num":"0","line_num":"0"},{"height":"0.0071770334928229484","page_num":"0","par_num":"0","top":"0.8604465709728868","left":"0.5116279148651706","word_num":"0","block_num":"0","level":"0","conf":"0.5","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","line_num":"0","width":"0.23255810839064572"},{"block_num":"0","line_num":"0","conf":"1","level":"0","page_num":"0","left":"0.5000000190360404","top":"0.9266347687970263","width":"0.25290696164394944","word_num":"0","height":"0.010647460414272003","par_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /"},{"level":"0","par_num":"0","width":"0.24418603613021528","line_num":"0","block_num":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","top":"0.9407665505780702","height":"0.017766144857452204","word_num":"0","page_num":"0","conf":"1","left":"0.5000000103623748"},{"left":"0.5000000013824143","height":"0.017421602252187474","par_num":"0","width":"0.05668604627568663","line_num":"0","level":"0","word_num":"0","block_num":"0","top":"0.958188153403523","page_num":"0","conf":"1","text":"racking noise in analytics."}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4769
|
NULL
|
NULL
|
|
89228
|
iTerm2ShellEdit ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)83DOCKER881DEV (docker)₴82APP (-zsh)screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:59:14181ec2-user@ip-10-30-95-134:...• *666++++23 +-20+-4+-7 +1 +24+-105 +1701816+-62-9429422133+++APP++++++++....
|
[{"text":"iTerm2","conf":& [{"text":"iTerm2","conf":"1","left":"0.03488372130374368","line_num":"0","level":"0","par_num":"0","width":"0.03488371902041965","page_num":"0","block_num":"0","word_num":"0","height":"0.013953487608167836","top":"0.006976744645528443"},{"height":"0.013953487608167836","left":"0.08284883872795794","page_num":"0","word_num":"0","top":"0.006976744412970359","text":"Shell","block_num":"0","par_num":"0","width":"0.031976742214626735","conf":"1","line_num":"0","level":"0"},{"height":"0.018069469663831828","word_num":"0","line_num":"0","par_num":"0","top":"0.0037559631581464137","block_num":"0","left":"0.11617885547956766","level":"0","page_num":"0","text":"Edit View","conf":"0.5","width":"0.05397949748569064"},{"level":"0","text":"Session","word_num":"0","page_num":"0","conf":"1","left":"0.18165331303221152","line_num":"0","block_num":"0","top":"0.006764204360345194","height":"0.014378567801581421","par_num":"0","width":"0.03494918876224096"},{"par_num":"0","page_num":"0","left":"0.2296406737588108","block_num":"0","line_num":"0","conf":"0.5","height":"0.014077084859212219","level":"0","text":"Scripts","top":"0.006914945827753649","width":"0.031997723049587645","word_num":"0"},{"line_num":"0","top":"0.006853316216056116","conf":"1","word_num":"0","left":"0.27323585639556563","block_num":"0","height":"0.014200344085693373","width":"0.033470148510403086","level":"0","par_num":"0","page_num":"0","text":"Profiles"},{"width":"0.03633720874786378","page_num":"0","block_num":"0","text":"Window","height":"0.013953487608167836","conf":"1","line_num":"0","word_num":"0","par_num":"0","level":"0","left":"0.31831395315998284","top":"0.006976744645528443"},{"level":"0","top":"0.006976744474985863","width":"0.02034883631600276","page_num":"0","word_num":"0","line_num":"0","block_num":"0","conf":"1","par_num":"0","left":"0.36773255878967304","text":"Help","height":"0.013953487608167836"},{"par_num":"0","line_num":"0","top":"0.03666666662527551","level":"0","conf":"1","height":"0.014496124055650483","left":"0.47529069803997187","text":"APP (-zsh)","word_num":"0","page_num":"0","width":"0.049418603049384224","block_num":"0"},{"line_num":"0","text":"83","par_num":"0","block_num":"0","word_num":"0","top":"0.06511627921917185","height":"0.013953487608167947","level":"0","left":"0.47238372128431727","width":"0.013081394301520444","page_num":"0","conf":"0.30000001192092896"},{"conf":"1","par_num":"0","word_num":"0","height":"0.01162790722317164","level":"0","page_num":"0","block_num":"0","line_num":"0","top":"0.06744186036718058","left":"0.05087209272312927","text":"DOCKER","width":"0.03488372166951498"},{"width":"0.010174418158001353","line_num":"0","page_num":"0","level":"0","par_num":"0","conf":"0.30000001192092896","block_num":"0","left":"0.14680232582288885","word_num":"0","height":"0.011627906163533597","top":"0.06744186101707039","text":"881"},{"line_num":"0","page_num":"0","block_num":"0","text":"DEV (docker)","width":"0.05087209277682833","par_num":"0","word_num":"0","height":"0.011627906163533597","conf":"1","left":"0.2107558135640147","level":"0","top":"0.0674418609589309"},{"height":"0.011627907223171752","text":"₴82","level":"0","line_num":"0","par_num":"0","width":"0.014534884028964579","top":"0.06744186045818157","block_num":"0","conf":"0.30000001192092896","page_num":"0","word_num":"0","left":"0.30813953472970373"},{"block_num":"0","conf":"0.5","left":"0.3793604658741403","par_num":"0","page_num":"0","height":"0.011627906163533597","text":"APP (-zsh)","width":"0.040697672632005466","line_num":"0","word_num":"0","level":"0","top":"0.0674418609589309"},{"left":"0.5348576004786272","word_num":"0","width":"0.048017358779907204","level":"0","par_num":"0","top":"0.0648826047097042","page_num":"0","text":"screenpipe\"","height":"0.014420836766560807","block_num":"0","conf":"1","line_num":"0"},{"conf":"1","text":"front-end/src/components/AiReports/Manage/__tests_","par_num":"0","page_num":"0","height":"0.016279069052802186","line_num":"0","width":"0.2790697521633572","left":"0.008720942522972407","level":"0","word_num":"0","block_num":"0","top":"0.09069767473716484"},{"height":"0.01860465155707458","line_num":"0","block_num":"0","page_num":"0","width":"0.14098837110731333","text":"_/ManageAiReports.spec.js","top":"0.0906976745315402","word_num":"0","left":"0.2863372117089401","level":"0","par_num":"0","conf":"1"},{"par_num":"0","height":"0.016279069052802186","word_num":"0","left":"0.00872094763883828","width":"0.44622090657552077","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","top":"0.1093023258515059","conf":"1","page_num":"0","level":"0","block_num":"0","line_num":"0"},{"par_num":"0","width":"0.5232557932535807","conf":"1","block_num":"0","top":"0.13023255838057568","level":"0","height":"0.016279069052802186","left":"0.008720945815069964","line_num":"0","page_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","word_num":"0"},{"height":"0.018604651557074692","block_num":"0","page_num":"0","conf":"1","left":"0.00872092909910249","line_num":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","word_num":"0","level":"0","top":"0.1488372093377417","width":"0.6002906799316406","par_num":"0"},{"level":"0","page_num":"0","line_num":"0","left":"0.008720941327598099","height":"0.018604651557074692","conf":"1","par_num":"0","width":"0.26308138105604384","text":"front-end/src/components/AiReports/constants.js","block_num":"0","top":"0.16976744197340066","word_num":"0"},{"page_num":"0","conf":"1","block_num":"0","height":"0.01860465155707458","line_num":"0","par_num":"0","width":"0.4127906799316406","level":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","left":"0.008720944627202777","top":"0.18837209251603637","word_num":"0"},{"conf":"1","level":"0","par_num":"0","word_num":"0","left":"0.008720936305477206","line_num":"0","block_num":"0","page_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","height":"0.01860465155707458","top":"0.20930232526797432","width":"0.4069767422146267"},{"line_num":"0","height":"0.016279069052802186","par_num":"0","top":"0.2302325584096454","text":"front-end/src/components/Settings/shared/FormElements/Field.less","level":"0","page_num":"0","width":"0.35755814446343315","word_num":"0","conf":"1","left":"0.00872093223776006","block_num":"0"},{"left":"0.008720934875787774","width":"0.35174418555365666","word_num":"0","line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","top":"0.2488372089889045","block_num":"0","conf":"1","level":"0","height":"0.018604651557074692","page_num":"0","par_num":"0"},{"par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","left":"0.008720937779436768","line_num":"0","top":"0.26976744154704413","level":"0","conf":"1","block_num":"0","page_num":"0","width":"0.4854651133219401","word_num":"0","height":"0.01860465155707458"},{"conf":"1","left":"0.008720939940422036","width":"0.3793604532877604","top":"0.29069767465964547","level":"0","page_num":"0","height":"0.016279069052802075","line_num":"0","par_num":"0","block_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","word_num":"0"},{"left":"0.008720948847176679","par_num":"0","conf":"1","width":"0.3851743910047743","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","word_num":"0","block_num":"0","level":"0","page_num":"0","top":"0.3093023252679743","height":"0.01860465155707458","line_num":"0"},{"level":"0","page_num":"0","top":"0.3325581400286983","par_num":"0","height":"0.011627906163533597","text":"front-end/src/components/shared/SavedSearchModal/","width":"0.27180230882432727","block_num":"0","word_num":"0","conf":"1","line_num":"0","left":"0.01017442358565618"},{"height":"0.013953487608167836","text":"__mocks__/nudges.js","word_num":"0","page_num":"0","par_num":"0","block_num":"0","width":"0.1061046494377984","line_num":"0","top":"0.3325581400718851","level":"0","conf":"0.5","left":"0.2805232549080388"},{"par_num":"0","height":"0.01860465155707458","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","width":"0.4622092776828342","left":"0.008720944988524652","line_num":"0","conf":"1","level":"0","top":"0.3488372088726255","word_num":"0","block_num":"0"},{"height":"0.01860465155707458","left":"0.008720943423469624","top":"0.3697674416633232","line_num":"0","word_num":"0","level":"0","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","width":"0.3183139377170139","block_num":"0","conf":"1","par_num":"0"},{"text":"front-end/src/components/shared/SavedSearchModal/__tests_","left":"0.008720939432180469","top":"0.3883720938223495","block_num":"0","line_num":"0","width":"0.31540696885850694","conf":"1","par_num":"0","height":"0.020930230882432732","level":"0","word_num":"0","page_num":"0"},{"text":"/__snapshots__/saved-search-modal-edit.output.html","page_num":"0","width":"0.2790697521633572","block_num":"0","line_num":"0","par_num":"0","word_num":"0","height":"0.018604651557074692","top":"0.36976744175634635","level":"0","conf":"1","left":"0.32994186531367026"},{"block_num":"0","page_num":"0","level":"0","text":"/__snapshots__/saved-search-modal.output.html","par_num":"0","top":"0.3883720925160363","conf":"1","word_num":"0","height":"0.01860465155707458","width":"0.25145348442925347","line_num":"0","left":"0.329941858342544"},{"text":"front-end/src/components/shared/SavedSearchModal/config.js","level":"0","par_num":"0","width":"0.32412789662679037","conf":"1","top":"0.4093023252679743","word_num":"0","line_num":"0","left":"0.008720939459133782","block_num":"0","page_num":"0","height":"0.018604651557074692"},{"left":"0.008720945245547382","level":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","top":"0.4302325583805757","width":"0.36773253546820744","line_num":"0","page_num":"0","par_num":"0","word_num":"0","block_num":"0","conf":"1","height":"0.016279069052802075"},{"conf":"1","left":"0.008720939802207934","page_num":"0","par_num":"0","top":"0.4488372090276642","block_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","line_num":"0","level":"0","height":"0.01860465155707458","width":"0.4854651133219401"},{"top":"0.4697674423340641","conf":"1","par_num":"0","width":"0.49709298875596786","word_num":"0","level":"0","block_num":"0","height":"0.016279069052802075","left":"0.007267450825504717","page_num":"0","line_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache"},{"left":"0.008720936961676194","page_num":"0","conf":"1","top":"0.49069767467902525","par_num":"0","level":"0","block_num":"0","height":"0.016279069052802186","text":"tests/Feature/NudgeProcessingFeatureTest.php","line_num":"0","width":"0.245639525519477","word_num":"0"},{"par_num":"0","height":"0.01860465155707458","left":"0.008720940809666643","block_num":"0","conf":"1","page_num":"0","width":"0.3241278966267904","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","word_num":"0","level":"0","top":"0.509302325306734","line_num":"0"},{"conf":"1","page_num":"0","left":"0.008720944263830709","level":"0","word_num":"0","width":"0.4127906799316406","par_num":"0","top":"0.5302325584096454","line_num":"0","height":"0.016279069052802186","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","block_num":"0"},{"width":"0.3808139377170139","conf":"1","height":"0.018604651557074692","block_num":"0","line_num":"0","page_num":"0","left":"0.007267443399245208","top":"0.548837209182703","word_num":"0","par_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","level":"0"},{"height":"0.018604651557074692","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","block_num":"0","line_num":"0","level":"0","word_num":"0","page_num":"0","conf":"1","par_num":"0","top":"0.5697674415470441","width":"0.26308138105604384","left":"0.00872094066747218"},{"height":"0.016279069052802297","left":"0.008720935081112163","level":"0","width":"0.2790697521633572","line_num":"0","word_num":"0","conf":"1","block_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","par_num":"0","top":"0.5906976748922036","page_num":"0"},{"word_num":"0","par_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","page_num":"0","top":"0.6093023252912301","height":"0.018604651557074692","conf":"1","width":"0.40697674221462665","line_num":"0","block_num":"0","left":"0.008720935288035392","level":"0"},{"conf":"1","height":"0.018604651557074692","level":"0","par_num":"0","word_num":"0","left":"0.008720932494423177","line_num":"0","block_num":"0","top":"0.630232558174951","page_num":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","width":"0.3735465155707466"},{"width":"0.3575581444634332","line_num":"0","page_num":"0","par_num":"0","height":"0.018604651557074692","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","level":"0","conf":"1","word_num":"0","block_num":"0","left":"0.008720925345802873","top":"0.6488372087951062"},{"conf":"1","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","block_num":"0","page_num":"0","line_num":"0","level":"0","height":"0.023669251335991737","par_num":"0","width":"0.30668604109022357","word_num":"0","top":"0.6674418601201179","left":"0.008720930055878897"},{"par_num":"0","word_num":"0","line_num":"0","height":"0.053333333333333344","top":"0.64","left":"0.30000000013888894","text":"rtarest. php","page_num":"0","width":"0.06666666666666665","level":"0","conf":"0.30000001192092896","block_num":"0"},{"width":"0.45784882439507385","word_num":"0","conf":"1","par_num":"0","level":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","top":"0.6906976746596454","height":"0.016279069052802186","left":"0.008720943324406762","page_num":"0","block_num":"0","line_num":"0"},{"par_num":"0","top":"0.7088888885350363","page_num":"0","width":"0.43459303114149306","word_num":"0","block_num":"0","conf":"1","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","level":"0","height":"0.019018088446723147","left":"0.008720919944754178","line_num":"0"},{"left":"0.3208333309027779","page_num":"0","block_num":"0","top":"0.6866666667777778","par_num":"0","width":"0.14583333333333337","conf":"0.30000001192092896","height":"0.046666666666666634","level":"0","line_num":"0","text":"fonitrn/esComedad.ron,.php","word_num":"0"},{"conf":"1","block_num":"0","par_num":"0","page_num":"0","top":"0.73","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","height":"0.01666666666666672","level":"0","line_num":"0","word_num":"0","left":"0.008720931874829398","width":"0.4186046600341797"},{"top":"0.7488372099361025","height":"0.0189405674404568","page_num":"0","par_num":"0","level":"0","left":"0.008720944031500208","block_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","width":"0.5188953399658203","line_num":"0","word_num":"0","conf":"1"},{"par_num":"0","level":"0","conf":"1","line_num":"0","width":"0.556686019897461","block_num":"0","left":"0.00872094292957427","word_num":"0","height":"0.01912144766913515","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","top":"0.769767441714528","page_num":"0"},{"line_num":"0","conf":"1","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","block_num":"0","width":"0.5232557932535807","top":"0.7883720927330905","height":"0.018604651557074692","left":"0.008720950932465657","page_num":"0","word_num":"0","level":"0","par_num":"0"},{"height":"0.019018088446723147","conf":"1","word_num":"0","par_num":"0","width":"0.5130814022488065","page_num":"0","line_num":"0","block_num":"0","top":"0.8088888884187573","left":"0.008720932168461499","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","level":"0"},{"width":"0.5901162889268663","conf":"1","word_num":"0","left":"0.00872093066119501","line_num":"0","level":"0","block_num":"0","page_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","height":"0.018888888888888955","par_num":"0","top":"0.83"},{"left":"0.00872093066119501","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","block_num":"0","top":"0.8488372098663348","word_num":"0","page_num":"0","level":"0","height":"0.0189405674404568","conf":"1","line_num":"0","width":"0.5901162889268663","par_num":"0"},{"height":"0.016279069052802186","level":"0","top":"0.8697674421015059","page_num":"0","conf":"1","left":"0.00872095191817562","block_num":"0","par_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","line_num":"0","width":"0.6017441643608942","word_num":"0"},{"text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","line_num":"0","page_num":"0","width":"0.5188953399658204","height":"0.016279069052802186","par_num":"0","word_num":"0","left":"0.008720941480167237","level":"0","top":"0.8906976746596453","conf":"1","block_num":"0"},{"text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","conf":"1","line_num":"0","top":"0.9088888883993775","width":"0.5130813598632812","height":"0.019018088446723036","block_num":"0","left":"0.008720965718114076","level":"0","word_num":"0","page_num":"0","par_num":"0"},{"word_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","line_num":"0","block_num":"0","par_num":"0","top":"0.93","width":"0.4796511332194011","conf":"1","left":"0.008720959803854693","page_num":"0","level":"0","height":"0.016666666666666607"},{"page_num":"0","par_num":"0","word_num":"0","conf":"1","top":"0.9488372099361024","height":"0.0189405674404568","width":"0.4636627621120876","line_num":"0","block_num":"0","level":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","left":"0.008720958818144888"},{"left":"0.004360485232488721","block_num":"0","page_num":"0","par_num":"0","width":"0.5348837110731336","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","height":"0.02144702911376961","top":"0.9674418601201177","level":"0","line_num":"0","conf":"1","word_num":"0"},{"line_num":"0","conf":"0.30000001192092896","page_num":"0","level":"0","par_num":"0","width":"0.024709301524692084","text":"O 84","word_num":"0","height":"0.013953487608167836","block_num":"0","left":"0.6250000001737047","top":"0.06511627927731145"},{"par_num":"0","left":"0.7194767443728021","level":"0","text":"-zsh","top":"0.06744186098800065","width":"0.017441859510209823","line_num":"0","conf":"0.5","page_num":"0","block_num":"0","word_num":"0","height":"0.011627906163533597"},{"block_num":"0","left":"0.7994186049777334","width":"0.01453488270441694","par_num":"0","conf":"0.30000001192092896","line_num":"0","word_num":"0","top":"0.0674418609589309","level":"0","page_num":"0","height":"0.011627906163533597","text":"885"},{"block_num":"0","conf":"0.30000001192092896","left":"0.8168458269716159","level":"0","line_num":"0","par_num":"0","text":"100% <7","top":"0.0068626474102171375","width":"0.04218044016096334","word_num":"0","height":"0.014181681738959395","page_num":"0"},{"line_num":"0","text":"Mon 27 Apr 18:59:14","level":"0","par_num":"0","page_num":"0","left":"0.8909883701829538","top":"0.00666666666666671","block_num":"0","height":"0.014444444444444371","conf":"1","width":"0.09738372166951492","word_num":"0"},{"par_num":"0","width":"0.02034883764055051","conf":"0.30000001192092896","left":"0.9723837207674626","word_num":"0","line_num":"0","block_num":"0","page_num":"0","text":"181","top":"0.03488372084580105","level":"0","height":"0.013953488667805991"},{"top":"0.06744186083296189","conf":"1","level":"0","line_num":"0","page_num":"0","height":"0.011627906163533597","left":"0.8372093056452314","text":"ec2-user@ip-10-30-95-134:...","block_num":"0","width":"0.11046511332194009","word_num":"0","par_num":"0"},{"height":"0.013953487608167836","block_num":"0","line_num":"0","word_num":"0","left":"0.9534883728481232","page_num":"0","text":"• *6","width":"0.024709301524692084","level":"0","par_num":"0","conf":"0.30000001192092896","top":"0.06511627933545094"},{"block_num":"0","height":"0.016279069052802297","par_num":"0","text":"66","top":"0.09069767487282365","width":"0.014534884028964523","page_num":"0","word_num":"0","conf":"1","level":"0","left":"0.6511627904225332","line_num":"0"},{"level":"0","height":"0.011627906163533486","top":"0.09302325610427975","width":"0.024709301524692084","left":"0.668604651975057","conf":"1","par_num":"0","text":"++++","word_num":"0","block_num":"0","line_num":"0","page_num":"0"},{"word_num":"0","block_num":"0","conf":"1","text":"23 +-","left":"0.6511627914915763","line_num":"0","page_num":"0","par_num":"0","top":"0.1088888889538393","height":"0.01669250594245064","level":"0","width":"0.03052325513627796"},{"level":"0","text":"20","height":"0.016279069052802186","top":"0.13023255829336633","width":"0.01453488270441694","par_num":"0","page_num":"0","word_num":"0","block_num":"0","conf":"1","left":"0.6511627910605823","line_num":"0"},{"top":"0.13255813982521003","height":"0.011627906163533486","line_num":"0","page_num":"0","text":"+-","level":"0","block_num":"0","left":"0.6686046519044723","par_num":"0","width":"0.013081394301520444","word_num":"0","conf":"0.5"},{"line_num":"0","text":"4","top":"0.15116279116279063","height":"0.013953487906976814","width":"0.007267441618217019","word_num":"0","conf":"1","left":"0.658430232751938","level":"0","block_num":"0","par_num":"0","page_num":"0"},{"text":"+-","height":"0.011627906163533486","block_num":"0","level":"0","width":"0.01162790722317164","word_num":"0","par_num":"0","conf":"0.30000001192092896","left":"0.6686046510880266","page_num":"0","top":"0.15348837269342708","line_num":"0"},{"block_num":"0","left":"0.6584302333351134","line_num":"0","text":"7 +","top":"0.16976744216490824","height":"0.013953487608167947","conf":"0.30000001192092896","level":"0","page_num":"0","par_num":"0","width":"0.01889534791310632","word_num":"0"},{"height":"0.013953487608167836","level":"0","line_num":"0","text":"1 +","left":"0.6584302333351134","block_num":"0","page_num":"0","par_num":"0","conf":"0.5","top":"0.19069767472304788","word_num":"0","width":"0.01889534791310632"},{"line_num":"0","width":"0.015988371107313437","top":"0.20930232582243613","conf":"1","level":"0","page_num":"0","block_num":"0","height":"0.016279069052802186","left":"0.6511627914570022","par_num":"0","text":"24","word_num":"0"},{"block_num":"0","height":"0.009302325778537401","page_num":"0","par_num":"0","left":"0.6700581396855341","text":"+-","line_num":"0","conf":"0.5","top":"0.21395348820707683","word_num":"0","level":"0","width":"0.010174418158001464"},{"top":"0.23023255863777647","height":"0.013953487608167947","word_num":"0","left":"0.6511627910242451","page_num":"0","par_num":"0","block_num":"0","width":"0.01453488270441694","conf":"1","text":"10","level":"0","line_num":"0"},{"word_num":"0","height":"0.01671834627787272","page_num":"0","line_num":"0","left":"0.6584302327537183","par_num":"0","text":"5 +","conf":"0.5","block_num":"0","top":"0.2488372092900042","level":"0","width":"0.01889534791310632"},{"width":"0.01889534791310621","par_num":"0","level":"0","page_num":"0","text":"170","line_num":"0","left":"0.646802325807255","block_num":"0","top":"0.26976744235870675","word_num":"0","conf":"1","height":"0.013953487608167836"},{"height":"0.013953487608167836","text":"18","top":"0.2906976748780866","width":"0.01453488270441694","level":"0","word_num":"0","conf":"1","line_num":"0","left":"0.651162790963683","block_num":"0","page_num":"0","par_num":"0"},{"page_num":"0","block_num":"0","par_num":"0","level":"0","width":"0.01453488270441694","text":"16","line_num":"0","word_num":"0","conf":"1","left":"0.651162791205931","top":"0.3093023256168115","height":"0.01860465155707458"},{"top":"0.31395348897249686","left":"0.6686046517106738","conf":"0.30000001192092896","par_num":"0","width":"0.013081394301520444","word_num":"0","level":"0","height":"0.011627906163533486","block_num":"0","line_num":"0","page_num":"0","text":"+-"},{"par_num":"0","word_num":"0","left":"0.6482558143219299","level":"0","width":"0.017441859510209934","page_num":"0","top":"0.3488372088726255","height":"0.01860465155707458","block_num":"0","conf":"1","text":"62","line_num":"0"},{"height":"0.013953487906976814","text":"-","level":"0","word_num":"0","conf":"1","width":"0.008720929941860467","line_num":"0","top":"0.36976744186046506","block_num":"0","par_num":"0","page_num":"0","left":"0.6366279070251938"},{"top":"0.36976744235870673","width":"0.01889534791310621","text":"942","left":"0.646802325807255","block_num":"0","height":"0.013953487608167836","par_num":"0","line_num":"0","word_num":"0","page_num":"0","conf":"1","level":"0"},{"width":"0.01889534791310621","word_num":"0","left":"0.646802325807255","line_num":"0","height":"0.013953487608167947","conf":"1","level":"0","page_num":"0","par_num":"0","text":"942","block_num":"0","top":"0.39069767491684626"},{"left":"0.6511627910605823","level":"0","height":"0.016279069052802186","text":"21","top":"0.4093023256673973","par_num":"0","width":"0.01453488270441694","page_num":"0","word_num":"0","conf":"1","line_num":"0","block_num":"0"},{"word_num":"0","width":"0.013081395626068137","page_num":"0","left":"0.6526162789947422","top":"0.4302325580788877","level":"0","conf":"1","height":"0.013953488667805991","par_num":"0","block_num":"0","text":"33","line_num":"0"},{"text":"+++","line_num":"0","width":"0.017441859510209823","word_num":"0","left":"0.6700581403030346","conf":"1","block_num":"0","level":"0","par_num":"0","top":"0.3534883723833495","page_num":"0","height":"0.011627906163533486"},{"level":"0","conf":"0.30000001192092896","top":"0.14651162689461428","line_num":"0","word_num":"0","page_num":"0","block_num":"0","text":"APP","width":"0.1395348866780599","par_num":"0","height":"0.08372093200683584","left":"0.8517441851046192"},{"word_num":"0","left":"0.6686046489065398","par_num":"0","page_num":"0","block_num":"0","level":"0","line_num":"0","text":"++++","top":"0.4511627900808629","width":"0.013081399599711108","conf":"0.30000001192092896","height":"0.0813953484429254"},{"block_num":"0","conf":"1","height":"0.013953488667805991","line_num":"0","par_num":"0","width":"0.011627907223171752","word_num":"0","level":"0","text":"++","left":"0.6700581393147707","page_num":"0","top":"0.5325581392707482"},{"top":"0.6116279067372514","height":"0.01162790722317164","word_num":"0","page_num":"0","par_num":"0","level":"0","text":"++.","line_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.6700581393235938","width":"0.013081395626068137"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3840
|
NULL
|
NULL
|
|
89230
|
ActivityFllesLaterSlackVIewHistoryWindowHelpQ Desc ActivityFllesLaterSlackVIewHistoryWindowHelpQ Describe what you are lookingJiminny... ~@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bgac olatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages. Nikolay YankovP. Galya DimitrovaA. Aneliya Angelovae Vacil Vasiler.Aneliya Angelova, ...C. Nikolay IvanovR. Nikolay Nikolovff. Stefka StoyanovaR. Adelina PetrovaR?. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.P. Gabriela DurevaNikolay Yankov• MessagesAdd canvaur Filesдоколкото виждам, тази тряова да е окей иконатаFriday. April 24th~Lukas Kovalik 2:41 PMздрастище то погледнаNikolay Yankov 2:41 PMNikolay Yankov 7:44 PMЛукас, за понеделник, виж коментара от Claudehttps://@itnub.com/iminny/app/pull/1177oTodavvLukas Kovalik 10:20 AMнаправих елна малка промяна в краина сметка, комитнах гоNikolay Yankov 10:20 AMsuperLukas Kovalik 10:20 AMтopa aa favicon има ли си тикетNikolay Yankov 10:21 AMPS-$1само ми писаако искаш си направи.даже по-добре да имаLukas Kovalik 10-21 ANхубаво ла напоавим, лоста време ми отнеме и май тояова с Вес така иначе ла се видиSlackот S3 изглежла илваNikolay Yankov 10.22AMNikolay Yankov 12:32 PMПуснах пак ревю, я виж какво е написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?тояова ли ла го вкарваме в кешLukas Kovalik 6:56 PMНики погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоустановим. Това може да е по-бавно, но си e edge case.защо въобще е в UserTransformer, той се зарежда при много други случаи и реално полето ни трябва само за promotion страницане е ли по-добре да го четем от отделен endpoint#:: AnndS Jira Cloud® ToastMessage Nikolay Yankov+ Аal100% C4& Mon 27 Apr 18:59:29*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesrixea — meala (modile 1 gria-temptate-cotumns: 1Tr yresponsiveadded at line 170Wording inconsistency (modal vs inline)Fixed — both now say "We will get in touch with you as soonas possible.nrer compured calling can( a seconaFixed - canManageAiReports extracted as a sharedtrackInterest endpoint missing ratelimitingStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297ПЖОСNort-circuit on the firstvhich happens orf every /erejsonctwodearadeas'aaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftransform() is called multiple times in a single response.• Denormalised boolean: add a has_generated_ai_reports column to users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /ipi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"conf":"1","line_num": [{"conf":"1","line_num":"0","width":"0.014534883042599294","block_num":"0","par_num":"0","height":"0.017421602252187585","level":"0","left":"0.004360465697692593","text":"Activity","top":"0.24390243911780862","word_num":"0","page_num":"0"},{"text":"Flles","level":"0","top":"0.29965156806670534","width":"0.00872092995237797","block_num":"0","conf":"0.5","left":"0.0072674419278807864","line_num":"0","height":"0.017421602252187474","par_num":"0","page_num":"0","word_num":"0"},{"conf":"1","page_num":"0","block_num":"0","line_num":"0","text":"Later","word_num":"0","height":"0.017421602252187474","par_num":"0","level":"0","width":"0.00872092995237797","left":"0.0072674419278807864","top":"0.3519163764290747"},{"block_num":"0","word_num":"0","level":"0","page_num":"0","height":"0.017421602252187585","conf":"1","left":"0.015988372286839896","line_num":"0","par_num":"0","text":"Slack","top":"-0.00000000002272559918026218","width":"0.01453488304259929"},{"height":"0.006968641205077342","par_num":"0","block_num":"0","level":"0","line_num":"0","left":"0.06395348841001604","text":"VIew","page_num":"0","width":"0.010174418383456299","word_num":"0","top":"0.00696864102015915","conf":"0.30000001192092896"},{"line_num":"0","par_num":"0","block_num":"0","text":"History","width":"0.01744185990475594","top":"0.0034843203512524568","height":"0.013937282410154683","word_num":"0","conf":"1","page_num":"0","left":"0.09302325638483132","level":"0"},{"block_num":"0","conf":"1","height":"0.017421602252187585","level":"0","page_num":"0","text":"Window","word_num":"0","left":"0.11482558143328095","line_num":"0","par_num":"0","top":"-0.00000000002272559918026218","width":"0.01744185990475594"},{"height":"0.017421602252187585","width":"0.010174418383456285","word_num":"0","top":"-0.00000000002272559918026218","conf":"1","page_num":"0","par_num":"0","block_num":"0","left":"0.13808139533831065","level":"0","line_num":"0","text":"Help"},{"page_num":"0","word_num":"0","left":"0.14098837950656953","top":"0.031100478610688986","text":"Q Describe what you are looking","conf":"0.5","level":"0","height":"0.010711367240552883","block_num":"0","line_num":"0","par_num":"0","width":"0.06686045768413137"},{"text":"Jiminny... ~","top":"0.06618819786721097","left":"0.02761628269152134","par_num":"0","word_num":"0","level":"0","page_num":"0","width":"0.03633720570422234","height":"0.013951173809726769","block_num":"0","conf":"0.30000001192092896","line_num":"0"},{"conf":"0.5","level":"0","line_num":"0","page_num":"0","top":"0.09407665591941561","width":"0.04941860158392724","height":"0.010452960286604362","left":"0.03343023162082732","block_num":"0","par_num":"0","text":"@ jiminny-x-integrati","word_num":"0"},{"par_num":"0","line_num":"0","page_num":"0","top":"0.11483253574621899","height":"0.017571645490290444","word_num":"0","width":"0.05377906941353006","conf":"0.5","left":"0.03343023206285708","text":"& platform-inner-team","level":"0","block_num":"0"},{"width":"0.029069766085198585","block_num":"0","word_num":"0","text":"© Channels","par_num":"0","top":"0.14274322169059017","height":"0.01754385964912275","conf":"0.30000001192092896","page_num":"0","left":"0.029069768796061723","level":"0","line_num":"0"},{"page_num":"0","word_num":"0","line_num":"0","width":"0.03351975248215046","par_num":"0","top":"0.16673966325440914","left":"0.0333854731523376","height":"0.01843704941550317","level":"0","text":"# ai-chapter","conf":"1","block_num":"0"},{"line_num":"0","par_num":"0","width":"0.021802323929806973","block_num":"0","top":"0.18815331079259123","word_num":"0","conf":"0.5","page_num":"0","height":"0.01758831577818165","text":"# alerts","level":"0","left":"0.033430233468533056"},{"top":"0.2160278744399171","height":"0.007257612128006796","width":"0.026162791759409804","page_num":"0","line_num":"0","block_num":"0","par_num":"0","left":"0.034883720326690446","word_num":"0","level":"0","conf":"0.30000001192092896","text":"i backend"},{"level":"0","height":"0.017746694160230114","top":"0.23344947777831704","width":"0.045058138827060126","par_num":"0","page_num":"0","line_num":"0","text":"# confusion-clinic","word_num":"0","conf":"1","block_num":"0","left":"0.033430233663020295"},{"width":"0.03779069667166852","word_num":"0","level":"0","conf":"1","left":"0.033430233415436834","block_num":"0","line_num":"0","page_num":"0","par_num":"0","text":"# curiosity_lab","height":"0.014354066985645897","top":"0.25757575757575757"},{"conf":"1","top":"0.2787456450411536","block_num":"0","word_num":"0","level":"0","left":"0.03343023248338709","line_num":"0","par_num":"0","text":"# engineering","height":"0.017421602252187585","page_num":"0","width":"0.03633720824059019"},{"block_num":"0","height":"0.010558546635142552","left":"0.03343023460359518","par_num":"0","text":"# generall","top":"0.3030303029362562","width":"0.026162789223041938","conf":"0.5","line_num":"0","word_num":"0","level":"0","page_num":"0"},{"word_num":"0","left":"0.0348837220561847","conf":"1","block_num":"0","height":"0.017699459142852314","top":"0.3237639551848104","width":"0.03924418510274684","page_num":"0","par_num":"0","text":"# infra-changes","line_num":"0","level":"0"},{"left":"0.03343023267189024","height":"0.017421602252187474","line_num":"0","page_num":"0","par_num":"0","text":"# jiminny-bg","top":"0.3449477351689121","block_num":"0","word_num":"0","width":"0.03343023137843355","level":"0","conf":"1"},{"block_num":"0","left":"0.03343023162280512","par_num":"0","page_num":"0","top":"0.3728222995949062","height":"0.006968641205077342","conf":"0.30000001192092896","line_num":"0","text":"ac olatorm-nckets","width":"0.04360465293234968","word_num":"0","level":"0"},{"height":"0.01771335206343605","line_num":"0","block_num":"0","top":"0.3899521529042582","word_num":"0","level":"0","left":"0.03343023562535342","text":"# product_launches","width":"0.04941860158392724","conf":"1","page_num":"0","par_num":"0"},{"page_num":"0","top":"0.41463414720861425","par_num":"0","level":"0","conf":"1","text":"# random","word_num":"0","width":"0.026162789223041945","block_num":"0","height":"0.010452960286604362","left":"0.033430231987316365","line_num":"0"},{"left":"0.033430233971852706","height":"0.017554973681387476","line_num":"0","page_num":"0","top":"0.4354066984462488","width":"0.02761627765412026","conf":"1","level":"0","word_num":"0","block_num":"0","par_num":"0","text":"# releases"},{"text":"# sofia-office","left":"0.03343023258555416","conf":"1","top":"0.45614035056563407","width":"0.034883719809511875","word_num":"0","block_num":"0","height":"0.017727244984020007","line_num":"0","page_num":"0","par_num":"0","level":"0"},{"page_num":"0","par_num":"0","line_num":"0","width":"0.027616277654120266","left":"0.033430233969918705","level":"0","word_num":"0","block_num":"0","top":"0.48083623672755915","conf":"1","text":"# support","height":"0.013937282410154683"},{"top":"0.5015948961656965","word_num":"0","left":"0.0334302336998952","level":"0","conf":"1","height":"0.017568866601971322","line_num":"0","block_num":"0","text":"# thank-yous","width":"0.03488371980951188","page_num":"0","par_num":"0"},{"width":"0.05523255530824053","text":"# the_people_of jimi...","left":"0.033430235379805606","page_num":"0","block_num":"0","height":"0.017741137904603632","level":"0","line_num":"0","par_num":"0","word_num":"0","top":"0.5223285484012261","conf":"0.5"},{"height":"0.017763365969133194","page_num":"0","par_num":"0","top":"0.5540069688436597","word_num":"0","width":"0.04505813882706014","level":"0","text":"• Direct messages","left":"0.029069768385209225","line_num":"0","block_num":"0","conf":"0.30000001192092896"},{"par_num":"0","block_num":"0","height":"0.022105172870642065","left":"0.03315112929498593","line_num":"0","page_num":"0","width":"0.04410918722761439","text":". Nikolay Yankov","level":"0","word_num":"0","conf":"0.5","top":"0.5742437870873378"},{"par_num":"0","height":"0.021030958379474662","top":"0.5956937797519628","left":"0.03343023380910216","width":"0.05232557844608388","text":"P. Galya Dimitrova","level":"0","block_num":"0","line_num":"0","page_num":"0","word_num":"0","conf":"0.30000001192092896"},{"line_num":"0","block_num":"0","par_num":"0","width":"0.047965115689216783","conf":"0.5","level":"0","word_num":"0","page_num":"0","text":"A. Aneliya Angelova","top":"0.6202090594836914","left":"0.03343023353108929","height":"0.017749473048549347"},{"level":"0","page_num":"0","conf":"0.30000001192092896","block_num":"0","par_num":"0","top":"0.6480836236338143","height":"0.006968641205077342","text":"e Vacil Vasiler.","left":"0.03343023353003616","line_num":"0","width":"0.03488371980951187","word_num":"0"},{"text":"Aneliya Angelova, ...","width":"0.052325578446083876","line_num":"0","height":"0.017421602252187585","word_num":"0","top":"0.6655052266903987","block_num":"0","conf":"0.5","left":"0.033430235976999206","level":"0","page_num":"0","par_num":"0"},{"conf":"0.5","block_num":"0","par_num":"0","left":"0.0334302320269567","line_num":"0","page_num":"0","top":"0.6864111500801692","level":"0","text":"C. Nikolay Ivanov","width":"0.04215116196490349","word_num":"0","height":"0.0177355801279655"},{"par_num":"0","text":"R. Nikolay Nikolov","level":"0","top":"0.710526315793022","page_num":"0","height":"0.01769668025453308","width":"0.045058138827060126","word_num":"0","line_num":"0","block_num":"0","left":"0.033430233608541776","conf":"0.5"},{"top":"0.7317073172101431","page_num":"0","height":"0.017421602252187585","line_num":"0","block_num":"0","width":"0.04796511568921677","word_num":"0","conf":"0.30000001192092896","left":"0.0334302335307816","text":"ff. Stefka Stoyanova","par_num":"0","level":"0"},{"height":"0.017721687207381653","line_num":"0","text":"R. Adelina Petrova","top":"0.7526132408363451","left":"0.033430233608541776","conf":"0.5","level":"0","block_num":"0","page_num":"0","par_num":"0","width":"0.045058138827060126","word_num":"0"},{"left":"0.03343023367505823","par_num":"0","conf":"0.30000001192092896","height":"0.01771057317511704","width":"0.04069767353382516","text":"R?. Stoyan Tomov","level":"0","line_num":"0","top":"0.7767145135705419","block_num":"0","page_num":"0","word_num":"0"},{"block_num":"0","page_num":"0","top":"0.8013937287417153","left":"0.0334302366242539","level":"0","width":"0.043604647859613946","word_num":"0","line_num":"0","conf":"1","height":"0.010452960286604362","par_num":"0","text":"( Petko Kashinski"},{"conf":"0.5","page_num":"0","top":"0.8221690590544602","width":"0.045058138827060126","left":"0.033430233608541776","par_num":"0","word_num":"0","block_num":"0","height":"0.017552194793068465","line_num":"0","text":"88. Mario Georgiev","level":"0"},{"block_num":"0","left":"0.03343023662617514","height":"0.010566881779088155","par_num":"0","text":"Ss: Todor Stamatov.","top":"0.8466898963487846","width":"0.043604647859613946","page_num":"0","word_num":"0","line_num":"0","conf":"0.30000001192092896","level":"0"},{"level":"0","par_num":"0","height":"0.017421602252187474","top":"0.8641114982351142","block_num":"0","conf":"0.5","width":"0.04505813882706013","left":"0.03343023190749662","word_num":"0","page_num":"0","text":"P. Gabriela Dureva","line_num":"0"},{"page_num":"0","block_num":"0","conf":"0.5","line_num":"0","width":"0.05377906941353007","word_num":"0","height":"0.021014286570571916","text":"Nikolay Yankov","top":"0.06271777048382365","left":"0.113372094092083","level":"0","par_num":"0"},{"text":"• Messages","left":"0.10465116432315079","block_num":"0","conf":"1","height":"0.01059744650857486","page_num":"0","top":"0.10104529652728955","word_num":"0","level":"0","width":"0.024709300791963637","line_num":"0","par_num":"0"},{"block_num":"0","text":"Add canva","left":"0.13517441978456218","level":"0","par_num":"0","top":"0.1044657097288676","line_num":"0","page_num":"0","width":"0.029069766085198567","word_num":"0","height":"0.0071770334928229484","conf":"0.30000001192092896"},{"left":"0.17005813961545385","page_num":"0","line_num":"0","text":"ur Files","height":"0.0071770334928229484","width":"0.017441858636572022","level":"0","par_num":"0","top":"0.1044657097288676","word_num":"0","block_num":"0","conf":"0.30000001192092896"},{"width":"0.1162790744862658","text":"доколкото виждам, тази тряова да е окей иконата","top":"0.12195121954437393","block_num":"0","page_num":"0","left":"0.11773255499856718","level":"0","word_num":"0","conf":"1","par_num":"0","height":"0.007235383302971465","line_num":"0"},{"word_num":"0","left":"0.2776162829680394","line_num":"0","text":"Friday. April 24th~","conf":"0.5","level":"0","par_num":"0","page_num":"0","height":"0.010480746888277825","top":"0.1323763954031456","width":"0.039244182566379016","block_num":"0"},{"word_num":"0","line_num":"0","page_num":"0","text":"Lukas Kovalik 2:41 PM","block_num":"0","top":"0.15679442518052644","width":"0.052325578446083876","conf":"1","left":"0.11627907220774461","par_num":"0","level":"0","height":"0.017421602252187585"},{"height":"0.006968640444571572","level":"0","block_num":"0","page_num":"0","width":"0.02180232392980698","top":"0.18118466932475252","word_num":"0","line_num":"0","conf":"0.5","par_num":"0","text":"здрасти","left":"0.11482558113102685"},{"text":"ще то погледна","word_num":"0","height":"0.007343747018817126","left":"0.11627906959401071","line_num":"0","width":"0.03779069413530067","conf":"0.5","level":"0","page_num":"0","block_num":"0","par_num":"0","top":"0.20557491325434107"},{"left":"0.11773255928757967","par_num":"0","width":"0.053779069413530056","word_num":"0","conf":"1","height":"0.013937282410154683","block_num":"0","top":"0.2229965155705136","text":"Nikolay Yankov 2:41 PM","page_num":"0","level":"0","line_num":"0"},{"left":"0.11773256082331715","top":"0.2717770037782289","word_num":"0","height":"0.017696680254533192","conf":"1","par_num":"0","block_num":"0","text":"Nikolay Yankov 7:44 PM","width":"0.05523255530824053","line_num":"0","level":"0","page_num":"0"},{"block_num":"0","page_num":"0","par_num":"0","text":"Лукас, за понеделник, виж коментара от Claude","top":"0.29266347702174356","left":"0.11773256283597518","width":"0.11046510047100959","conf":"1","word_num":"0","height":"0.010472410983826341","level":"0","line_num":"0"},{"height":"0.006968640444571572","conf":"0.5","line_num":"0","text":"https://@itnub.com/iminny/app/pull/1177o","par_num":"0","level":"0","width":"0.09447673026551592","word_num":"0","top":"0.31358885050942154","block_num":"0","left":"0.11773256037596344","page_num":"0"},{"level":"0","height":"0.006968640444571572","top":"0.3449477355268431","line_num":"0","width":"0.017441858636571994","par_num":"0","conf":"0.30000001192092896","block_num":"0","left":"0.2892441878328767","text":"Todavv","page_num":"0","word_num":"0"},{"level":"0","par_num":"0","text":"Lukas Kovalik 10:20 AM","top":"0.3692185007974482","page_num":"0","height":"0.01754385964912275","block_num":"0","line_num":"0","conf":"1","left":"0.11773256206441479","width":"0.05377906434079435","word_num":"0"},{"line_num":"0","top":"0.3937282233317212","block_num":"0","par_num":"0","width":"0.14098834991455078","height":"0.006968640444571572","left":"0.11627907700687472","text":"направих елна малка промяна в краина сметка, комитнах го","level":"0","word_num":"0","conf":"0.5","page_num":"0"},{"block_num":"0","page_num":"0","level":"0","left":"0.11773255937818321","word_num":"0","conf":"1","top":"0.4111498258773907","height":"0.017421602252187474","line_num":"0","text":"Nikolay Yankov 10:20 AM","par_num":"0","width":"0.0566860462756867"},{"line_num":"0","block_num":"0","level":"0","page_num":"0","width":"0.011627907448626587","conf":"1","par_num":"0","height":"0.006968641205077342","text":"super","top":"0.43554006968491776","word_num":"0","left":"0.1177325579762681"},{"page_num":"0","par_num":"0","block_num":"0","top":"0.4529505582137161","level":"0","line_num":"0","conf":"1","left":"0.11773255943718407","text":"Lukas Kovalik 10:20 AM","width":"0.05377906941353007","height":"0.01754385964912286","word_num":"0"},{"line_num":"0","top":"0.4727576519735581","page_num":"0","par_num":"0","conf":"0.30000001192092896","width":"0.072744146306464","left":"0.1177016350254009","block_num":"0","level":"0","text":"тopa aa favicon има ли си тикет","word_num":"0","height":"0.011783637118301549"},{"width":"0.0566860462756867","page_num":"0","block_num":"0","line_num":"0","top":"0.49441786283891553","conf":"1","text":"Nikolay Yankov 10:21 AM","word_num":"0","left":"0.11773255937818321","level":"0","height":"0.014354066985645897","par_num":"0"},{"line_num":"0","conf":"0.5","top":"0.4808362368929813","word_num":"0","block_num":"0","height":"0.027874564820309367","level":"0","par_num":"0","text":"PS","left":"0.35610465126855223","page_num":"0","width":"0.01744185990475594"},{"height":"0.017421602206736386","top":"0.5087108015098722","par_num":"0","line_num":"0","level":"0","left":"0.35901162824612404","page_num":"0","width":"0.010174418265503804","word_num":"0","conf":"0.5","text":"-","block_num":"0"},{"top":"0.47038327550623293","block_num":"0","conf":"0.30000001192092896","left":"0.39680232574045143","line_num":"0","text":"$1","width":"0.01744185990475594","word_num":"0","height":"0.03484320450437517","page_num":"0","level":"0","par_num":"0"},{"text":"само ми писа","top":"0.5365853656474198","width":"0.03488371980951188","block_num":"0","page_num":"0","conf":"1","level":"0","height":"0.013937282410154683","word_num":"0","left":"0.1162790708791426","line_num":"0","par_num":"0"},{"level":"0","text":"ако искаш си направи.","top":"0.5644599307143667","line_num":"0","height":"0.007310404161517181","conf":"1","left":"0.11627907367322542","block_num":"0","par_num":"0","page_num":"0","width":"0.05232557844608389","word_num":"0"},{"level":"0","top":"0.5853269537480064","height":"0.01754385964912286","block_num":"0","conf":"1","text":"даже по-добре да има","par_num":"0","width":"0.05523255530824052","left":"0.11627907201971736","page_num":"0","word_num":"0","line_num":"0"},{"conf":"0.5","height":"0.010658574446536728","top":"0.6097560984287775","left":"0.11627907218491895","par_num":"0","block_num":"0","level":"0","width":"0.052325573373348144","word_num":"0","text":"Lukas Kovalik 10-21 AN","page_num":"0","line_num":"0"},{"conf":"0.5","height":"0.007296512001439104","line_num":"0","top":"0.6306620207999295","width":"0.19912790744862657","left":"0.11773255738407956","page_num":"0","par_num":"0","text":"хубаво ла напоавим, лоста време ми отнеме и май тояова с Вес така иначе ла се види","level":"0","word_num":"0","block_num":"0"},{"text":"Slack","top":"0.5574912889923674","left":"0.3154069773203317","line_num":"0","width":"0.0159883714736776","word_num":"0","block_num":"0","level":"0","height":"0.013937282410154683","page_num":"0","par_num":"0","conf":"1"},{"word_num":"0","width":"0.047965115689216783","height":"0.007315961938155313","level":"0","par_num":"0","line_num":"0","page_num":"0","block_num":"0","text":"от S3 изглежла илва","conf":"0.5","top":"0.654704944081909","left":"0.11773255868248265"},{"left":"0.11482558251553421","height":"0.01764666634883605","text":"Nikolay Yankov 10.22AM","top":"0.6722488036988071","word_num":"0","page_num":"0","par_num":"0","width":"0.05959302313784334","line_num":"0","block_num":"0","conf":"0.5","level":"0"},{"height":"0.017771701113078797","conf":"1","level":"0","width":"0.0566860462756867","line_num":"0","top":"0.7142857147783611","word_num":"0","block_num":"0","left":"0.11773255937818321","par_num":"0","page_num":"0","text":"Nikolay Yankov 12:32 PM"},{"par_num":"0","height":"0.010452960286604362","left":"0.11627907904642683","block_num":"0","page_num":"0","top":"0.7351916381493807","line_num":"0","conf":"1","level":"0","text":"Пуснах пак ревю, я виж какво е написало","width":"0.0973837122004083","word_num":"0"},{"width":"0.2005813882706013","top":"0.759581882228663","word_num":"0","conf":"1","block_num":"0","height":"0.010753046002304312","left":"0.11627905930759223","par_num":"0","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","line_num":"0","page_num":"0","level":"0"},{"text":"тояова ли ла го вкарваме в кеш","top":"0.7804878048404148","word_num":"0","left":"0.11773256031490213","par_num":"0","conf":"0.5","width":"0.07267441648118038","line_num":"0","level":"0","page_num":"0","block_num":"0","height":"0.006968641205077342"},{"text":"Lukas Kovalik 6:56 PM","conf":"1","level":"0","top":"0.7979094082234998","line_num":"0","page_num":"0","left":"0.11627907043577168","par_num":"0","block_num":"0","word_num":"0","height":"0.017421602252187474","width":"0.05087209255137343"},{"height":"0.017760587080814072","left":"0.11773260577984117","page_num":"0","par_num":"0","conf":"0.5","level":"0","text":"Ники погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го","top":"0.8149920256066847","word_num":"0","width":"0.3691859955483294","block_num":"0","line_num":"0"},{"level":"0","page_num":"0","conf":"1","line_num":"0","par_num":"0","top":"0.8362369346087396","block_num":"0","height":"0.010653017430404366","text":"установим. Това може да е по-бавно, но си e edge case.","width":"0.1279069717894209","left":"0.11627906425947741","word_num":"0"},{"block_num":"0","left":"0.11627907777661689","conf":"1","width":"0.30232557337334814","level":"0","page_num":"0","par_num":"0","text":"защо въобще е в UserTransformer, той се зарежда при много други случаи и реално полето ни трябва само за promotion страница","line_num":"0","top":"0.8571428574182165","word_num":"0","height":"0.017657780381100774"},{"top":"0.8811802235003486","line_num":"0","width":"0.11773254516276908","height":"0.017774480001397808","text":"не е ли по-добре да го четем от отделен endpoint","word_num":"0","conf":"1","page_num":"0","par_num":"0","block_num":"0","left":"0.1162790788027067","level":"0"},{"top":"0.8987240829657563","height":"0.01068358215989107","left":"0.0276162788707467","page_num":"0","par_num":"0","conf":"0.30000001192092896","text":"#:: Annd","line_num":"0","block_num":"0","width":"0.020348835498728655","word_num":"0","level":"0"},{"word_num":"0","block_num":"0","height":"0.017421602252187474","top":"0.9198606275759968","level":"0","page_num":"0","par_num":"0","width":"0.03197674294735524","left":"0.03343023298627709","line_num":"0","text":"S Jira Cloud","conf":"0.5"},{"top":"0.9407665505780702","height":"0.017766144857452204","block_num":"0","text":"® Toast","width":"0.023255812360885295","line_num":"0","par_num":"0","word_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.03343023412519857","level":"0"},{"block_num":"0","conf":"1","line_num":"0","level":"0","left":"0.10610465023724454","width":"0.0566860462756867","text":"Message Nikolay Yankov","page_num":"0","height":"0.017421602252187474","par_num":"0","top":"0.9198606271549747","word_num":"0"},{"par_num":"0","word_num":"0","conf":"0.30000001192092896","block_num":"0","text":"+ Аal","width":"0.01889534706765031","page_num":"0","top":"0.9545454544222594","left":"0.10755814136443057","level":"0","height":"0.010611339429158706","line_num":"0"},{"line_num":"0","page_num":"0","height":"0.01754385964912286","text":"100% C4& Mon 27 Apr 18:59:29","conf":"0.30000001192092896","left":"0.9084302391538919","top":"0","word_num":"0","par_num":"0","width":"0.08720929571922786","block_num":"0","level":"0"},{"page_num":"0","text":"*","width":"0.008720930014534889","top":"0.027874564459930307","conf":"0.5","par_num":"0","height":"0.02090592282229964","line_num":"0","block_num":"0","level":"0","left":"0.8895348837572674","word_num":"0"},{"top":"0.06271777012826163","width":"0.08284883296236079","block_num":"0","conf":"1","par_num":"0","level":"0","line_num":"0","page_num":"0","left":"0.5029069814629333","text":"Al reports promotion pages #11998","word_num":"0","height":"0.017421602252187585"},{"top":"0.08362369354010668","level":"0","word_num":"0","par_num":"0","block_num":"0","left":"0.5029069820387471","conf":"1","height":"0.010475189872145352","line_num":"0","width":"0.21947674041098741","page_num":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages"},{"level":"0","par_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","left":"0.6206395320015682","width":"0.12936045261139562","word_num":"0","height":"0.010516868633896892","block_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","top":"0.10446570957187562"},{"text":"responsive","top":"0.11846689863232107","page_num":"0","level":"0","word_num":"0","conf":"1","height":"0.013937282410154683","par_num":"0","left":"0.5145348845551456","line_num":"0","block_num":"0","width":"0.026162789223041938"},{"par_num":"0","width":"0.04069767099745736","word_num":"0","conf":"1","left":"0.6206395381627619","top":"0.11483253561555695","page_num":"0","height":"0.017571645490290444","text":"added at line 170","line_num":"0","block_num":"0","level":"0"},{"conf":"1","left":"0.5145348823979694","block_num":"0","par_num":"0","top":"0.15311004765169978","word_num":"0","text":"Wording inconsistency (modal vs inline)","width":"0.08720930586469933","page_num":"0","level":"0","line_num":"0","height":"0.017621659395987477"},{"height":"0.017421602252187585","page_num":"0","level":"0","par_num":"0","left":"0.6206395412554169","text":"Fixed — both now say \"We will get in touch with you as soon","width":"0.1308139435788418","word_num":"0","block_num":"0","conf":"1","line_num":"0","top":"0.14634146381293056"},{"width":"0.027616277654120225","word_num":"0","height":"0.006968641205077342","level":"0","conf":"0.30000001192092896","text":"as possible.","par_num":"0","line_num":"0","block_num":"0","left":"0.6206395362891324","top":"0.16724738673389183","page_num":"0"},{"height":"0.006968640444571461","conf":"0.30000001192092896","level":"0","line_num":"0","top":"0.1951219515547178","block_num":"0","width":"0.08866277654120269","page_num":"0","par_num":"0","word_num":"0","left":"0.514534888937681","text":"nrer compured calling can( a secona"},{"height":"0.0175883172991933","par_num":"0","text":"Fixed - canManageAiReports extracted as a shared","width":"0.11482558351881966","level":"0","top":"0.18815330984335132","word_num":"0","left":"0.6206395350056855","page_num":"0","block_num":"0","conf":"1","line_num":"0"},{"level":"0","line_num":"0","conf":"1","text":"trackInterest endpoint missing rate","par_num":"0","width":"0.08430232392980697","height":"0.017746694160230114","page_num":"0","block_num":"0","top":"0.23344947777831704","word_num":"0","left":"0.5145348853433209"},{"par_num":"0","height":"0.017421602252187474","width":"0.017441859904755996","word_num":"0","level":"0","text":"limiting","line_num":"0","block_num":"0","page_num":"0","conf":"1","left":"0.5145348842918079","top":"0.2473867597914441"},{"par_num":"0","width":"0.05523255530824056","word_num":"0","text":"Still present (see below)","height":"0.017807823619203744","page_num":"0","level":"0","conf":"1","block_num":"0","left":"0.6206395358560387","top":"0.24003189772282119","line_num":"0"},{"top":"0.31339712947633447","line_num":"0","text":"Remaining issues","height":"0.017613322731030334","word_num":"0","level":"0","conf":"1","left":"0.5000000013287278","block_num":"0","page_num":"0","par_num":"0","width":"0.0479651156892168"},{"top":"0.34843205595226867","width":"0.10319766592472168","conf":"0.5","height":"0.017596652443139016","par_num":"0","text":". Extra DB query still fires on every page load","block_num":"0","level":"0","word_num":"0","left":"0.500000004738088","page_num":"0","line_num":"0"},{"top":"0.3763066205923885","width":"0.24709301806510764","word_num":"0","page_num":"0","line_num":"0","block_num":"0","height":"0.017632773428252313","par_num":"0","level":"0","left":"0.4999999984771364","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","conf":"1"},{"conf":"0.30000001192092896","line_num":"0","text":"ПЖОСN","word_num":"0","top":"0.4549003996833365","block_num":"0","level":"0","height":"0.10019919898901652","left":"0.4829710976294845","par_num":"0","width":"0.20905780792236323","page_num":"0"},{"page_num":"0","text":"ort-circuit on the first","word_num":"0","left":"0.6933139551602854","line_num":"0","par_num":"0","block_num":"0","conf":"1","level":"0","height":"0.017741137904603743","top":"0.45993031357802616","width":"0.0479651156892168"},{"word_num":"0","width":"0.05668604627568674","conf":"0.5","block_num":"0","page_num":"0","height":"0.017421602252187585","left":"0.6918604665908955","level":"0","line_num":"0","par_num":"0","text":"vhich happens orf every /","top":"0.4773519164697251"},{"line_num":"0","left":"0.6933139542899416","page_num":"0","block_num":"0","width":"0.021802323929806966","level":"0","par_num":"0","top":"0.49128919958006745","text":"erejsonc","height":"0.020905922094220375","word_num":"0","conf":"0.30000001192092896"},{"par_num":"0","text":"two","conf":"1","level":"0","block_num":"0","line_num":"0","top":"0.49128919869969034","word_num":"0","width":"0.008720929952377943","height":"0.017421602252187474","page_num":"0","left":"0.7398255816807878"},{"page_num":"0","width":"0.027616275117752442","height":"0.006968640444571572","block_num":"0","left":"0.6933139540835658","word_num":"0","line_num":"0","conf":"0.30000001192092896","level":"0","text":"dearadeas'","top":"0.5156794428439163","par_num":"0"},{"text":"aaested mitiaations (in order of effort):","left":"0.50290698647676","par_num":"0","width":"0.0857558047517818","conf":"0.5","level":"0","block_num":"0","line_num":"0","height":"0.0073381900026847635","top":"0.5606060605630119","page_num":"0","word_num":"0"},{"text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","top":"0.5853269537480064","width":"0.17441859143845584","word_num":"0","page_num":"0","height":"0.01754385964912286","left":"0.502906984142906","level":"0","par_num":"0","line_num":"0","conf":"0.5","block_num":"0"},{"block_num":"0","height":"0.01762721717262572","par_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","word_num":"0","left":"0.5058139626900788","level":"0","width":"0.2398255733733481","line_num":"0","conf":"0.5","page_num":"0","top":"0.6027874562178817"},{"par_num":"0","line_num":"0","level":"0","word_num":"0","left":"0.505813952625712","text":"transform() is called multiple times in a single response.","top":"0.6202090594982095","width":"0.12645349096744618","page_num":"0","height":"0.017749473048549347","conf":"1","block_num":"0"},{"conf":"1","width":"0.25290698193489236","word_num":"0","line_num":"0","left":"0.5014534779450875","height":"0.017421602252187585","block_num":"0","top":"0.6376306624627565","level":"0","page_num":"0","par_num":"0","text":"• Denormalised boolean: add a has_generated_ai_reports column to users , set/cleared by the report generation/"},{"conf":"1","width":"0.10465116703763921","level":"0","line_num":"0","word_num":"0","par_num":"0","page_num":"0","height":"0.0071770334928229484","block_num":"0","top":"0.6618819776714514","left":"0.5058139514101975","text":"deletion pipeline — eliminates the querv entirelv."},{"level":"0","conf":"0.5","par_num":"0","width":"0.021802323929806966","line_num":"0","block_num":"0","height":"0.013937282410154683","text":"Fix this →","top":"0.6864111496195452","word_num":"0","left":"0.5000000014415185","page_num":"0"},{"word_num":"0","conf":"1","par_num":"0","line_num":"0","height":"0.017807823619203744","level":"0","page_num":"0","text":"2. trackInterest endpoint has no rate limit or idempotency guard","left":"0.500000009555618","top":"0.742160278657975","block_num":"0","width":"0.15406975847609494"},{"page_num":"0","height":"0.015280556260493738","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","top":"0.7722668313743503","width":"0.22969221561513048","line_num":"0","block_num":"0","conf":"1","par_num":"0","left":"0.49997788500739343","level":"0","word_num":"0"},{"line_num":"0","conf":"0.5","left":"0.4999999995712994","level":"0","page_num":"0","word_num":"0","width":"0.02470930332833149","block_num":"0","par_num":"0","height":"0.006968641205077342","text":"pi.php:282","top":"0.7944250870834626"},{"top":"0.8325358853529533","word_num":"0","height":"0.021122651046923346","level":"0","par_num":"0","block_num":"0","conf":"0.5","line_num":"0","page_num":"0","left":"0.5029069742030985","width":"0.14680232392980697","text":"public function trackInterest(Request srequest): JsonResponse"},{"left":"0.5116279148651706","page_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","width":"0.23255810839064572","block_num":"0","line_num":"0","level":"0","top":"0.8604465709728868","conf":"0.5","height":"0.0071770334928229484","par_num":"0","word_num":"0"},{"conf":"1","height":"0.010647460414272003","page_num":"0","word_num":"0","top":"0.9266347687970263","par_num":"0","level":"0","block_num":"0","left":"0.500000019045948","line_num":"0","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","width":"0.25290696164394944"},{"top":"0.9394646211896703","level":"0","width":"0.2442159652709961","block_num":"0","height":"0.020025461674497147","par_num":"0","word_num":"0","conf":"1","text":"ipi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","left":"0.49998503791671856","page_num":"0","line_num":"0"},{"par_num":"0","level":"0","page_num":"0","width":"0.05668604627568663","text":"racking noise in analytics.","top":"0.9581881531038657","word_num":"0","line_num":"0","conf":"1","block_num":"0","left":"0.5000000013824143","height":"0.013937282410154683"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4359
|
NULL
|
NULL
|
|
89231
|
HomeActivityLaterMoreslackVIewMistonWindowQ Descri HomeActivityLaterMoreslackVIewMistonWindowQ Describe what you are looking forJiminny... vNikolay Yankov@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsi backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga nlattorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the people of iimi..• MessagesAdd canvaA Nianat ManAAaaGalya DimitrovaP. Galya DiM. Aneliva AngelovaeVacil Vasiler3 Aneliya Angelova,..C. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.Pa Gabriela Durevaur FilesFriday. April 24th~Lukas Kovalik 2:41 PMздрастище то погледнаNikolay Yankov 2:41 PMNikolay Yankov 7:44 PMЛукас, за понеделник, виж коментара от Claudehttps://@itnub.com/iminny/app/pull/1177oTodavLukas Kovalik 10:20 AMнаправих елна малка промяна в краина сметка, комитнах гоNikolay Yankov 10:20 AMLukas Kovalik 10:20 AMtopa aa favicon има пи си тикотNikolay Yankov 10:21 AMсамо ми писаако искаш си направи.даже по-добре да имаLukas Kovalik 10:21 AMхубаво ла напоавим, лоста време ми отнеме и май тояова с Вес така иначе ла се видиот S3 изглежла илваNikolay Yankov 10.22AMNikolay Yankov 12:32 PMПуснах пак ревю, я виж какво е написалотова, че на всяка страница правим тази заявка ще ни забави ли системата според теб?тояова ли ла го вкарваме в кешLukas Kovalik 6:56 PMНики погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да гоустановим. Това може да е по-бавно, но си e edge case.защо въобще е в UserTransformer, той се зарежда при много други случаи и реално полето ни трябва само за promotion страницане е ли по-добре да го четем от отделен endpoint::: AnndS Jira Cloud® ToastMessage Nikolay Yankov+ AalQA 10%4 & Mon27 Apr 18:59:32*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yleseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can( a seconaFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftranstorm() Is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →2. trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"text":"Home","top":" [{"text":"Home","top":"0.13588850153592147","width":"0.011627906180442649","level":"0","line_num":"0","page_num":"0","block_num":"0","height":"0.013937282410154683","conf":"1","word_num":"0","left":"0.0058139540803213065","par_num":"0"},{"conf":"1","text":"Activity","height":"0.017421602252187585","block_num":"0","line_num":"0","par_num":"0","word_num":"0","page_num":"0","top":"0.24390243911780862","width":"0.014534883042599294","left":"0.004360465697692593","level":"0"},{"left":"0.007267442109566826","par_num":"0","block_num":"0","word_num":"0","height":"0.017421602252187585","page_num":"0","text":"Later","level":"0","top":"0.35191637644359264","line_num":"0","width":"0.008720929952377967","conf":"1"},{"text":"More","block_num":"0","par_num":"0","page_num":"0","line_num":"0","height":"0.013937282410154683","level":"0","conf":"1","left":"0.0058139540803213065","width":"0.011627906180442649","top":"0.407665505020242","word_num":"0"},{"page_num":"0","par_num":"0","text":"slack","width":"0.013081394611520969","left":"0.015988371807611673","word_num":"0","height":"0.006968640444571461","block_num":"0","top":"0.006968641450188162","line_num":"0","conf":"1","level":"0"},{"word_num":"0","line_num":"0","page_num":"0","left":"0.06395348930845732","conf":"0.30000001192092896","width":"0.010174417749364326","height":"0.006968640444571461","text":"VIew","block_num":"0","level":"0","top":"0.006968641450188162","par_num":"0"},{"word_num":"0","width":"0.01598837020549368","height":"0.006968640444571461","par_num":"0","line_num":"0","text":"Miston","block_num":"0","top":"0.006968641450188162","page_num":"0","conf":"0.30000001192092896","left":"0.09302325755713681","level":"0"},{"left":"0.11482558143328095","par_num":"0","height":"0.017421602252187585","block_num":"0","line_num":"0","width":"0.01744185990475594","conf":"1","text":"Window","word_num":"0","level":"0","top":"-0.00000000002272559918026218","page_num":"0"},{"line_num":"0","block_num":"0","height":"0.017579980634236048","left":"0.14098837474722473","width":"0.07267441648118039","text":"Q Describe what you are looking for","page_num":"0","conf":"1","par_num":"0","level":"0","top":"0.027874564683673886","word_num":"0"},{"page_num":"0","width":"0.03633720570422234","level":"0","par_num":"0","word_num":"0","left":"0.02761628269152134","conf":"0.30000001192092896","line_num":"0","top":"0.06618819786721097","block_num":"0","text":"Jiminny... v","height":"0.013951173809726769"},{"top":"0.06271777048382365","height":"0.021014286570571916","block_num":"0","conf":"0.5","word_num":"0","line_num":"0","width":"0.05377906941353007","left":"0.113372094092083","par_num":"0","text":"Nikolay Yankov","level":"0","page_num":"0"},{"conf":"0.5","line_num":"0","page_num":"0","left":"0.03343023162082732","top":"0.09407665591941561","level":"0","text":"@ jiminny-x-integrati","width":"0.04941860158392724","word_num":"0","height":"0.010452960286604362","par_num":"0","block_num":"0"},{"page_num":"0","par_num":"0","text":"& platform-inner-team","line_num":"0","block_num":"0","width":"0.05377906941353006","top":"0.11483253574621899","word_num":"0","left":"0.03343023206285708","conf":"0.5","level":"0","height":"0.017571645490290444"},{"par_num":"0","conf":"0.30000001192092896","block_num":"0","height":"0.01754385964912275","top":"0.14274322169059017","width":"0.029069766085198585","text":"© Channels","level":"0","page_num":"0","word_num":"0","line_num":"0","left":"0.029069768796061723"},{"par_num":"0","line_num":"0","block_num":"0","height":"0.01843704941550317","text":"# ai-chapter","top":"0.16673966325440914","word_num":"0","page_num":"0","conf":"1","level":"0","left":"0.0333854731523376","width":"0.03351975248215046"},{"block_num":"0","height":"0.01758831577818165","line_num":"0","text":"# alerts","page_num":"0","conf":"0.5","top":"0.18815331079259123","level":"0","word_num":"0","left":"0.033430233468533056","width":"0.021802323929806973","par_num":"0"},{"par_num":"0","conf":"0.30000001192092896","height":"0.007257612128006796","page_num":"0","text":"i backend","block_num":"0","top":"0.2160278744399171","width":"0.026162791759409804","word_num":"0","left":"0.034883720326690446","level":"0","line_num":"0"},{"top":"0.23344947772024505","height":"0.017746694160230225","page_num":"0","line_num":"0","word_num":"0","left":"0.03343023220953198","width":"0.045058138827060126","par_num":"0","text":"# confusion-clinic","level":"0","conf":"0.5","block_num":"0"},{"top":"0.25757575757575757","conf":"1","width":"0.03779069667166852","word_num":"0","line_num":"0","page_num":"0","block_num":"0","level":"0","height":"0.014354066985645897","text":"# curiosity_lab","left":"0.033430233415436834","par_num":"0"},{"height":"0.017421602252187585","top":"0.2787456450411536","text":"# engineering","width":"0.03633720824059019","page_num":"0","conf":"1","left":"0.03343023248338709","level":"0","par_num":"0","word_num":"0","block_num":"0","line_num":"0"},{"conf":"0.5","word_num":"0","left":"0.03343023460359518","top":"0.3030303029362562","level":"0","page_num":"0","line_num":"0","height":"0.010558546635142552","block_num":"0","text":"# generall","width":"0.026162789223041938","par_num":"0"},{"line_num":"0","width":"0.03924418510274684","conf":"1","block_num":"0","page_num":"0","left":"0.0348837220561847","level":"0","par_num":"0","height":"0.017699459142852314","top":"0.3237639551848104","text":"# infra-changes","word_num":"0"},{"par_num":"0","left":"0.03343023267189024","text":"# jiminny-bg","top":"0.3449477351689121","line_num":"0","block_num":"0","page_num":"0","level":"0","conf":"1","height":"0.017421602252187474","width":"0.03343023137843355","word_num":"0"},{"block_num":"0","text":"a nlattorm-nckets","word_num":"0","conf":"0.30000001192092896","height":"0.006968641205077342","page_num":"0","width":"0.04360465293234968","line_num":"0","left":"0.03343023160068563","top":"0.3728222995949062","par_num":"0","level":"0"},{"width":"0.04941860158392724","level":"0","line_num":"0","word_num":"0","left":"0.03343023562535342","conf":"1","par_num":"0","block_num":"0","height":"0.01771335206343605","text":"# product_launches","page_num":"0","top":"0.3899521529042582"},{"width":"0.026162789223041945","conf":"1","page_num":"0","word_num":"0","height":"0.010452960286604362","line_num":"0","block_num":"0","par_num":"0","level":"0","text":"# random","left":"0.033430231987316365","top":"0.41463414720861425"},{"par_num":"0","page_num":"0","height":"0.014354066985646008","text":"# releases","block_num":"0","top":"0.43540669856459324","line_num":"0","word_num":"0","left":"0.033430233971852706","width":"0.02761627765412026","conf":"1","level":"0"},{"line_num":"0","text":"# sofia-office","page_num":"0","level":"0","conf":"1","width":"0.034883719809511875","height":"0.017727244984020007","top":"0.45614035056563407","left":"0.03343023258555416","block_num":"0","par_num":"0","word_num":"0"},{"conf":"0.5","width":"0.027616277654120266","left":"0.033430233969918705","height":"0.013937282410154683","page_num":"0","block_num":"0","level":"0","par_num":"0","text":"# support","top":"0.48083623672755915","word_num":"0","line_num":"0"},{"width":"0.03488371980951188","page_num":"0","text":"# thank-yous","top":"0.5015948961656965","line_num":"0","conf":"1","word_num":"0","par_num":"0","left":"0.0334302336998952","level":"0","height":"0.017568866601971322","block_num":"0"},{"top":"0.5261324048886707","height":"0.010550210730691068","width":"0.053779064340794346","level":"0","left":"0.033430238362816646","conf":"0.5","par_num":"0","text":"# the people of iimi..","block_num":"0","line_num":"0","page_num":"0","word_num":"0"},{"conf":"1","line_num":"0","text":"• Messages","level":"0","par_num":"0","width":"0.024709300791963637","left":"0.10465116432315079","page_num":"0","word_num":"0","block_num":"0","height":"0.01059744650857486","top":"0.10104529652728955"},{"page_num":"0","block_num":"0","line_num":"0","height":"0.0071770334928229484","left":"0.13517441978456218","width":"0.029069766085198567","level":"0","par_num":"0","conf":"0.30000001192092896","text":"Add canva","top":"0.1044657097288676","word_num":"0"},{"level":"0","top":"0.5574162679425837","line_num":"0","word_num":"0","conf":"0.30000001192092896","block_num":"0","left":"0.029069768433934128","par_num":"0","text":"A Nianat ManAAaa","width":"0.04215116196490349","page_num":"0","height":"0.0071770334928229484"},{"line_num":"0","conf":"1","page_num":"0","top":"0.5677830940988836","block_num":"0","word_num":"0","left":"0.03779069890888105","text":"Galya Dimitrova","level":"0","par_num":"0","height":"0.014354066985645897","width":"0.03488371980951188"},{"conf":"0.30000001192092896","par_num":"0","level":"0","height":"0.027999598063540354","top":"0.5956937806416374","page_num":"0","text":"P. Galya Di","width":"0.030523254516276903","word_num":"0","left":"0.03343023387571758","block_num":"0","line_num":"0"},{"conf":"0.30000001192092896","text":"M. Aneliva Angelova","page_num":"0","top":"0.623604465618983","line_num":"0","width":"0.04651162472177058","word_num":"0","block_num":"0","left":"0.03343023573912295","height":"0.010541875586745464","par_num":"0","level":"0"},{"page_num":"0","par_num":"0","block_num":"0","line_num":"0","height":"0.006968640444571572","conf":"0.30000001192092896","text":"eVacil Vasiler","top":"0.6480836240285853","width":"0.034883717273144016","level":"0","word_num":"0","left":"0.03343023272588386"},{"page_num":"0","top":"0.6655052266178086","width":"0.05087209255137342","line_num":"0","word_num":"0","height":"0.017421602252187585","left":"0.03343023347208019","block_num":"0","text":"3 Aneliya Angelova,..","conf":"0.5","par_num":"0","level":"0"},{"line_num":"0","top":"0.6864111500801692","conf":"0.5","width":"0.04215116196490349","word_num":"0","level":"0","text":"C. Nikolay Ivanov","left":"0.0334302320269567","par_num":"0","block_num":"0","page_num":"0","height":"0.0177355801279655"},{"width":"0.045058138827060126","left":"0.033430233608541776","conf":"0.5","height":"0.01769668025453308","level":"0","page_num":"0","block_num":"0","text":"R. Nikolay Nikolov","word_num":"0","top":"0.710526315793022","par_num":"0","line_num":"0"},{"line_num":"0","level":"0","conf":"0.30000001192092896","word_num":"0","page_num":"0","text":"fl. Stefka Stoyanova","block_num":"0","top":"0.7317073172101431","height":"0.017421602252187585","par_num":"0","left":"0.0334302335307816","width":"0.04796511568921677"},{"top":"0.7526132408363451","word_num":"0","left":"0.033430233608541776","conf":"1","width":"0.045058138827060126","page_num":"0","line_num":"0","text":"R. Adelina Petrova","par_num":"0","block_num":"0","height":"0.017721687207381653","level":"0"},{"conf":"0.5","text":"R. Stoyan Tomov","page_num":"0","top":"0.7767145135705419","par_num":"0","width":"0.04069767353382516","height":"0.01771057317511704","left":"0.03343023367505823","word_num":"0","line_num":"0","level":"0","block_num":"0"},{"left":"0.0334302366242539","block_num":"0","line_num":"0","conf":"1","width":"0.043604647859613946","text":"( Petko Kashinski","height":"0.010452960286604362","top":"0.8013937287417153","word_num":"0","level":"0","par_num":"0","page_num":"0"},{"top":"0.8221690590544602","page_num":"0","conf":"0.5","par_num":"0","text":"88. Mario Georgiev","word_num":"0","line_num":"0","width":"0.045058138827060126","left":"0.033430233608541776","level":"0","height":"0.017552194793068465","block_num":"0"},{"text":"Ss: Todor Stamatov.","width":"0.043604647859613946","block_num":"0","line_num":"0","height":"0.010566881779088155","page_num":"0","par_num":"0","top":"0.8466898963487846","word_num":"0","level":"0","conf":"0.5","left":"0.03343023662617514"},{"word_num":"0","par_num":"0","top":"0.8675958186090923","page_num":"0","line_num":"0","height":"0.013937282410154683","block_num":"0","conf":"0.5","left":"0.033430233608541776","level":"0","width":"0.045058138827060126","text":"Pa Gabriela Dureva"},{"height":"0.0071770334928229484","conf":"0.30000001192092896","left":"0.17005813961545385","width":"0.017441858636572022","page_num":"0","word_num":"0","par_num":"0","line_num":"0","block_num":"0","text":"ur Files","level":"0","top":"0.1044657097288676"},{"width":"0.039244182566379016","top":"0.1323763954031456","par_num":"0","left":"0.2776162829680394","page_num":"0","word_num":"0","block_num":"0","conf":"0.5","height":"0.010480746888277825","level":"0","line_num":"0","text":"Friday. April 24th~"},{"par_num":"0","line_num":"0","level":"0","top":"0.1567944255289585","block_num":"0","left":"0.11627906900067847","height":"0.017421602252187474","text":"Lukas Kovalik 2:41 PM","conf":"1","page_num":"0","width":"0.05087209255137343","word_num":"0"},{"conf":"0.5","block_num":"0","width":"0.02180232392980698","height":"0.006968640444571572","word_num":"0","par_num":"0","left":"0.11482558113102685","level":"0","top":"0.18118466932475252","text":"здрасти","page_num":"0","line_num":"0"},{"left":"0.11627906959401071","block_num":"0","page_num":"0","level":"0","par_num":"0","conf":"0.5","height":"0.007343747018817126","line_num":"0","text":"ще то погледна","top":"0.20557491325434107","word_num":"0","width":"0.03779069413530067"},{"par_num":"0","conf":"1","text":"Nikolay Yankov 2:41 PM","left":"0.11773255928757967","height":"0.013937282410154683","line_num":"0","top":"0.2229965155705136","page_num":"0","width":"0.053779069413530056","word_num":"0","level":"0","block_num":"0"},{"height":"0.017696680254533192","page_num":"0","left":"0.11773256082331715","conf":"1","block_num":"0","text":"Nikolay Yankov 7:44 PM","par_num":"0","top":"0.2717770037782289","word_num":"0","width":"0.05523255530824053","level":"0","line_num":"0"},{"width":"0.11046510047100959","block_num":"0","word_num":"0","par_num":"0","conf":"1","page_num":"0","line_num":"0","text":"Лукас, за понеделник, виж коментара от Claude","left":"0.11773256283566556","height":"0.010472410983826341","top":"0.29266347702174356","level":"0"},{"conf":"0.5","height":"0.006968640444571572","par_num":"0","top":"0.31358885050942154","page_num":"0","level":"0","line_num":"0","text":"https://@itnub.com/iminny/app/pull/1177o","word_num":"0","block_num":"0","width":"0.09447673026551592","left":"0.11773256037596344"},{"word_num":"0","height":"0.006968640444571572","left":"0.2892441877896949","par_num":"0","conf":"0.30000001192092896","width":"0.015988370205493707","line_num":"0","top":"0.3449477355268431","page_num":"0","block_num":"0","level":"0","text":"Todav"},{"page_num":"0","text":"Lukas Kovalik 10:20 AM","height":"0.01754385964912275","line_num":"0","width":"0.05377906434079435","word_num":"0","level":"0","left":"0.11773256206441479","block_num":"0","top":"0.3692185007974482","conf":"1","par_num":"0"},{"text":"направих елна малка промяна в краина сметка, комитнах го","level":"0","height":"0.006968640444571572","block_num":"0","top":"0.3937282233317212","conf":"0.5","page_num":"0","par_num":"0","width":"0.14098834991455078","left":"0.11627907700687472","word_num":"0","line_num":"0"},{"par_num":"0","conf":"1","block_num":"0","left":"0.11627907203076397","word_num":"0","height":"0.017421602252187474","width":"0.058139532170397176","level":"0","line_num":"0","page_num":"0","text":"Nikolay Yankov 10:20 AM","top":"0.4111498258773907"},{"height":"0.01754385964912286","par_num":"0","left":"0.11773255943718407","text":"Lukas Kovalik 10:20 AM","conf":"1","block_num":"0","word_num":"0","level":"0","page_num":"0","line_num":"0","top":"0.4529505582137161","width":"0.05377906941353007"},{"text":"topa aa favicon има пи си тикот","conf":"0.5","line_num":"0","height":"0.0071770334928230595","left":"0.1162790794901855","block_num":"0","page_num":"0","width":"0.07412789730315512","level":"0","top":"0.4736842105263157","word_num":"0","par_num":"0"},{"par_num":"0","level":"0","height":"0.014354066985645897","left":"0.11773255937818321","page_num":"0","text":"Nikolay Yankov 10:21 AM","line_num":"0","width":"0.0566860462756867","block_num":"0","top":"0.49441786283891553","word_num":"0","conf":"1"},{"page_num":"0","line_num":"0","left":"0.1162790708791426","par_num":"0","width":"0.03488371980951188","level":"0","height":"0.013937282410154683","top":"0.5365853656474198","block_num":"0","conf":"1","text":"само ми писа","word_num":"0"},{"par_num":"0","text":"ако искаш си направи.","line_num":"0","word_num":"0","block_num":"0","left":"0.11627907367322542","level":"0","conf":"0.5","top":"0.5644599307143667","width":"0.05232557844608389","height":"0.007310404161517181","page_num":"0"},{"conf":"1","page_num":"0","level":"0","par_num":"0","top":"0.5853269537480064","block_num":"0","height":"0.014354066985645897","left":"0.11627906841945591","line_num":"0","width":"0.05523256038097625","word_num":"0","text":"даже по-добре да има"},{"width":"0.052325573373348144","block_num":"0","height":"0.010658574446536728","line_num":"0","word_num":"0","text":"Lukas Kovalik 10:21 AM","page_num":"0","left":"0.11627907218491895","par_num":"0","level":"0","top":"0.6097560984287775","conf":"0.5"},{"block_num":"0","height":"0.007296512001439104","width":"0.19912790744862657","par_num":"0","line_num":"0","text":"хубаво ла напоавим, лоста време ми отнеме и май тояова с Вес така иначе ла се види","left":"0.11773255738407956","top":"0.6306620207999295","conf":"0.5","level":"0","page_num":"0","word_num":"0"},{"par_num":"0","level":"0","line_num":"0","page_num":"0","text":"от S3 изглежла илва","top":"0.654704944081909","word_num":"0","height":"0.007315961938155313","block_num":"0","width":"0.047965115689216783","conf":"0.5","left":"0.11773255868248265"},{"conf":"0.5","par_num":"0","top":"0.6722488036988071","width":"0.05959302313784334","block_num":"0","line_num":"0","word_num":"0","level":"0","height":"0.01764666634883605","text":"Nikolay Yankov 10.22AM","left":"0.11482558251553421","page_num":"0"},{"block_num":"0","line_num":"0","level":"0","word_num":"0","height":"0.017771701113078797","conf":"1","page_num":"0","left":"0.11773255937818321","par_num":"0","top":"0.7142857147783611","width":"0.0566860462756867","text":"Nikolay Yankov 12:32 PM"},{"conf":"0.5","page_num":"0","top":"0.7351916381493807","text":"Пуснах пак ревю, я виж какво е написало","level":"0","width":"0.09593022123296212","word_num":"0","par_num":"0","line_num":"0","height":"0.010452960286604362","left":"0.11773256945010184","block_num":"0"},{"top":"0.02787456492450635","line_num":"0","left":"0.47674418604651164","conf":"0.30000001192092896","page_num":"0","block_num":"0","height":"0.017421602206736386","width":"0.008720929941860467","level":"0","par_num":"0","text":"","word_num":"0"},{"page_num":"0","word_num":"0","line_num":"0","level":"0","width":"0.2005813882706013","conf":"1","height":"0.010753046002304312","block_num":"0","left":"0.11627905930759223","text":"това, че на всяка страница правим тази заявка ще ни забави ли системата според теб?","top":"0.759581882228663","par_num":"0"},{"text":"тояова ли ла го вкарваме в кеш","top":"0.7804878048513398","left":"0.11773256020096683","width":"0.07267441648118038","level":"0","word_num":"0","height":"0.006968641205077342","block_num":"0","conf":"0.5","line_num":"0","par_num":"0","page_num":"0"},{"top":"0.7979094082234998","word_num":"0","line_num":"0","height":"0.017421602252187474","width":"0.05087209255137343","left":"0.11627907043577168","level":"0","page_num":"0","block_num":"0","conf":"1","par_num":"0","text":"Lukas Kovalik 6:56 PM"},{"text":"Ники погледнах до comment от claude. По принцип е прав ако има клиент със десетки хиляди ресултати и user бе нито един трябва да мине през всички да го","width":"0.3691859955483294","block_num":"0","conf":"1","level":"0","left":"0.11773260577984117","par_num":"0","top":"0.8149920256066847","page_num":"0","line_num":"0","height":"0.017760587080814072","word_num":"0"},{"height":"0.010653018190910246","level":"0","word_num":"0","text":"установим. Това може да е по-бавно, но си e edge case.","line_num":"0","block_num":"0","page_num":"0","par_num":"0","width":"0.1279069717894209","top":"0.8362369340542706","left":"0.1162790757306877","conf":"1"},{"level":"0","page_num":"0","line_num":"0","block_num":"0","par_num":"0","height":"0.017657780381100774","left":"0.11627907777661689","text":"защо въобще е в UserTransformer, той се зарежда при много други случаи и реално полето ни трябва само за promotion страница","width":"0.30232557337334814","word_num":"0","top":"0.8571428574182165","conf":"1"},{"left":"0.1162790788027067","top":"0.8811802235003486","par_num":"0","text":"не е ли по-добре да го четем от отделен endpoint","block_num":"0","level":"0","width":"0.11773254516276908","page_num":"0","word_num":"0","conf":"1","height":"0.017774480001397808","line_num":"0"},{"par_num":"0","block_num":"0","level":"0","page_num":"0","left":"0.029069768094866402","word_num":"0","height":"0.01068358215989107","top":"0.8987240829657562","conf":"0.30000001192092896","text":"::: Annd","width":"0.018895348335834262","line_num":"0"},{"text":"S Jira Cloud","block_num":"0","left":"0.03343023298627709","width":"0.03197674294735524","word_num":"0","line_num":"0","conf":"0.5","level":"0","page_num":"0","height":"0.017421602252187474","top":"0.9198606275759968","par_num":"0"},{"conf":"0.30000001192092896","width":"0.023255812360885295","left":"0.03343023412519857","page_num":"0","block_num":"0","height":"0.017766144857452204","level":"0","line_num":"0","par_num":"0","text":"® Toast","top":"0.9407665505780702","word_num":"0"},{"level":"0","line_num":"0","page_num":"0","par_num":"0","text":"Message Nikolay Yankov","height":"0.017421602252187474","conf":"1","top":"0.9198606271549747","width":"0.0566860462756867","left":"0.10610465023724454","word_num":"0","block_num":"0"},{"block_num":"0","top":"0.9545454544222594","page_num":"0","word_num":"0","conf":"0.30000001192092896","par_num":"0","text":"+ Aal","width":"0.01889534706765031","height":"0.010611339429158706","left":"0.10755814136443057","level":"0","line_num":"0"},{"word_num":"0","conf":"0.30000001192092896","top":"0.00000000033500369145400555","height":"0.020905922094220375","page_num":"0","line_num":"0","width":"0.16133721331332596","left":"0.8343023231844134","par_num":"0","text":"QA 10%4 & Mon27 Apr 18:59:32","block_num":"0","level":"0"},{"word_num":"0","top":"0.027874564982578343","line_num":"0","left":"0.8895348839026164","level":"0","page_num":"0","par_num":"0","conf":"0.5","text":"*","height":"0.02090592282229975","width":"0.008720930014534889","block_num":"0"},{"left":"0.5029069814629333","line_num":"0","page_num":"0","conf":"1","par_num":"0","text":"Al reports promotion pages #11998","top":"0.06271777012826163","width":"0.08284883296236079","word_num":"0","block_num":"0","height":"0.017421602252187585","level":"0"},{"par_num":"0","word_num":"0","page_num":"0","width":"0.21947674041098741","block_num":"0","top":"0.08362369354010668","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","conf":"1","left":"0.5029069820387471","line_num":"0","level":"0","height":"0.010475189872145352"},{"conf":"0.30000001192092896","level":"0","page_num":"0","text":"ranoramakeportsrrono leatures gria nou","width":"0.08720929571922797","left":"0.515988370209941","word_num":"0","par_num":"0","top":"0.10765550223535247","block_num":"0","line_num":"0","height":"0.007327075970420038"},{"page_num":"0","text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","conf":"0.30000001192092896","left":"0.6206395320015682","level":"0","block_num":"0","par_num":"0","top":"0.10446570957187562","width":"0.12936045261139562","word_num":"0","line_num":"0","height":"0.010516868633896892"},{"block_num":"0","page_num":"0","par_num":"0","top":"0.12543554003627422","conf":"0.30000001192092896","width":"0.023255814897253146","word_num":"0","left":"0.5145348831763734","text":"leseeis","height":"0.003484320602538671","line_num":"0","level":"0"},{"width":"0.04069767099745736","level":"0","page_num":"0","top":"0.11483253561555695","word_num":"0","text":"added at line 170","block_num":"0","left":"0.6206395381627619","par_num":"0","line_num":"0","height":"0.017571645490290444","conf":"1"},{"width":"0.1308139435788419","page_num":"0","block_num":"0","left":"0.6206395418231858","text":"Fixed - both now say \"We will get in touch with you as soon","word_num":"0","par_num":"0","line_num":"0","conf":"1","level":"0","top":"0.14274322169059017","height":"0.01754385964912275"},{"left":"0.5145348893682301","conf":"1","line_num":"0","page_num":"0","top":"0.15311004759362778","text":"Wording inconsistency (modal vs inline)","width":"0.08720929571922786","word_num":"0","level":"0","height":"0.017621659395987477","block_num":"0","par_num":"0"},{"par_num":"0","line_num":"0","text":"as possible.","conf":"0.30000001192092896","top":"0.16724738673389183","width":"0.027616277654120225","level":"0","height":"0.006968641205077342","page_num":"0","word_num":"0","block_num":"0","left":"0.6206395362891324"},{"height":"0.006968640444571461","page_num":"0","width":"0.08866277654120269","word_num":"0","line_num":"0","par_num":"0","left":"0.514534888937681","top":"0.1951219515547178","level":"0","block_num":"0","conf":"0.30000001192092896","text":"nrer compured calling can( a secona"},{"page_num":"0","height":"0.0175883172991933","par_num":"0","text":"Fixed - canManageAiReports extracted as a shared","left":"0.620639539097222","line_num":"0","top":"0.18815330979979739","level":"0","conf":"1","block_num":"0","word_num":"0","width":"0.11482557337334798"},{"height":"0.017421602252187474","line_num":"0","page_num":"0","left":"0.6220930244397125","text":"computed","width":"0.023255812360885253","word_num":"0","block_num":"0","conf":"1","top":"0.20557491298540453","par_num":"0","level":"0"},{"page_num":"0","par_num":"0","top":"0.20557491302895847","block_num":"0","height":"0.017421602252187585","conf":"1","line_num":"0","width":"0.011627906180442626","word_num":"0","left":"0.5145348842644298","text":"time","level":"0"},{"width":"0.08284883296236079","word_num":"0","conf":"1","page_num":"0","block_num":"0","top":"0.23344947777831704","height":"0.017746694160230114","left":"0.5159883762736059","text":"trackInterest endpoint missing rate","line_num":"0","par_num":"0","level":"0"},{"word_num":"0","height":"0.006968640444571461","text":"limitina","page_num":"0","block_num":"0","level":"0","par_num":"0","conf":"1","width":"0.015988370205493596","top":"0.25435540103206966","left":"0.5145348854641136","line_num":"0"},{"page_num":"0","par_num":"0","left":"0.6206395358560387","height":"0.017807823619203744","top":"0.24003189772282119","block_num":"0","line_num":"0","conf":"1","width":"0.05523255530824056","text":"Still present (see below)","level":"0","word_num":"0"},{"conf":"1","width":"0.049418601583927246","par_num":"0","page_num":"0","word_num":"0","text":"Remaining issues","height":"0.017613322731030334","line_num":"0","block_num":"0","left":"0.49854651467944094","top":"0.31339712947633447","level":"0"},{"par_num":"0","line_num":"0","block_num":"0","page_num":"0","level":"0","text":". Extra DB query still fires on every page load","width":"0.10319766592472168","conf":"0.5","word_num":"0","top":"0.34843205595226867","height":"0.017596652443139016","left":"0.500000004738088"},{"word_num":"0","height":"0.017632773428252313","top":"0.3763066205923885","page_num":"0","level":"0","left":"0.4999999984771364","block_num":"0","conf":"1","par_num":"0","line_num":"0","text":"app/Http/Transformers/UserTransformer.php:139 / app/Repositories/AutomatedReportsRepository.php:291-297","width":"0.24709301806510764"},{"left":"0.502907000810188","conf":"1","level":"0","page_num":"0","top":"0.4178628388386477","block_num":"0","width":"0.2194767201200445","line_num":"0","height":"0.010708589112739642","par_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).","word_num":"0"},{"left":"0.5000000072941873","word_num":"0","block_num":"0","level":"0","page_num":"0","line_num":"0","par_num":"0","top":"0.45993031375224214","conf":"0.5","height":"0.017741137904603743","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","width":"0.24127905419532292"},{"par_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","left":"0.49999999992732563","line_num":"0","top":"0.4773519162821602","width":"0.25000000000000006","level":"0","block_num":"0","page_num":"0","word_num":"0","height":"0.013937282410154683","conf":"1"},{"height":"0.020967051553193783","par_num":"0","left":"0.5014534918272605","page_num":"0","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","top":"0.4912280702286602","line_num":"0","width":"0.24854649888708236","conf":"1","word_num":"0","level":"0","block_num":"0"},{"block_num":"0","height":"0.010686361048210191","word_num":"0","page_num":"0","text":"ISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as the","top":"0.5119617223575448","width":"0.22819764563377865","level":"0","left":"0.5000000058259358","conf":"1","par_num":"0","line_num":"0"},{"conf":"1","text":"uaaested mitiaations (in order of effort):","word_num":"0","height":"0.0073381900026847635","page_num":"0","left":"0.5014534853695082","par_num":"0","width":"0.08720930586469933","block_num":"0","level":"0","top":"0.5606060607314207","line_num":"0"},{"top":"0.5853269537480064","conf":"1","page_num":"0","word_num":"0","left":"0.5014534869745092","width":"0.17587209255137348","line_num":"0","height":"0.01754385964912286","par_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","level":"0","block_num":"0"},{"left":"0.5058139713227934","level":"0","block_num":"0","height":"0.01762721565161396","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","top":"0.6027874571526035","width":"0.23982555308240527","page_num":"0","par_num":"0","word_num":"0","conf":"0.5","line_num":"0"},{"top":"0.6267942582824599","text":"transtorm() Is called multiple times in a single response","page_num":"0","par_num":"0","conf":"0.5","level":"0","block_num":"0","line_num":"0","width":"0.12354649888708236","word_num":"0","height":"0.007352082923268499","left":"0.5072674434499944"},{"line_num":"0","width":"0.2558139435788419","height":"0.017421602252187474","block_num":"0","left":"0.500000009904769","page_num":"0","par_num":"0","level":"0","top":"0.6376306621143244","conf":"1","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users , set/cleared by the report generation/","word_num":"0"},{"page_num":"0","width":"0.10465115689216775","conf":"1","level":"0","line_num":"0","word_num":"0","par_num":"0","height":"0.0071770334928229484","block_num":"0","left":"0.5058139616289973","text":"deletion pipeline — eliminates the querv entirelv.","top":"0.6618819776714514"},{"height":"0.013937282410154683","conf":"0.5","top":"0.6864111496195452","block_num":"0","left":"0.5000000014415185","level":"0","text":"Fix this →","word_num":"0","line_num":"0","page_num":"0","par_num":"0","width":"0.021802323929806966"},{"par_num":"0","page_num":"0","width":"0.15552324944354118","height":"0.017807823619203744","block_num":"0","conf":"1","left":"0.4985465185881723","level":"0","word_num":"0","line_num":"0","text":"2. trackInterest endpoint has no rate limit or idempotency guard","top":"0.742160278657975"},{"block_num":"0","top":"0.7722896015036981","word_num":"0","page_num":"0","left":"0.49996836441857584","width":"0.22824831211820562","conf":"1","height":"0.015257937295965363","level":"0","par_num":"0","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","line_num":"0"},{"top":"0.7944250870834626","par_num":"0","conf":"0.5","block_num":"0","level":"0","height":"0.006968641205077342","page_num":"0","text":"pi.php:282","line_num":"0","word_num":"0","left":"0.4999999995712994","width":"0.02470930332833149"},{"page_num":"0","par_num":"0","top":"0.8325358852423792","word_num":"0","level":"0","height":"0.021122649525911585","left":"0.5029069986857431","conf":"0.5","text":"public function trackInterest(Request srequest): JsonResponse","block_num":"0","line_num":"0","width":"0.14680230363886415"},{"height":"0.0071770334928229484","word_num":"0","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","line_num":"0","conf":"0.5","level":"0","page_num":"0","par_num":"0","left":"0.5116279148651706","top":"0.8604465709728868","width":"0.23255810839064572","block_num":"0"},{"height":"0.010647460414272003","par_num":"0","level":"0","block_num":"0","left":"0.500000019045948","conf":"1","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","top":"0.9266347687970263","width":"0.25290696164394944","page_num":"0","word_num":"0","line_num":"0"},{"width":"0.2441860564211581","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","height":"0.017766144857452204","top":"0.9407665505780702","line_num":"0","page_num":"0","left":"0.49999999512449644","word_num":"0","level":"0","par_num":"0","block_num":"0","conf":"1"},{"conf":"1","left":"0.5000000013824143","par_num":"0","word_num":"0","top":"0.958188153403523","page_num":"0","level":"0","block_num":"0","line_num":"0","text":"racking noise in analytics.","height":"0.017421602252187474","width":"0.05668604627568663"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4734
|
NULL
|
NULL
|
|
89232
|
iTerm2ShellEdit ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)83DOCKER881DEV (docker)₴82APP (-zsh)screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O<O 8466++++23 +-20+-4+-7 +1 +24+-105 +1701816+-62-9429422133+++-zsh885100% <7Mon 27 Apr 18:59:32181ec2-user@ip-10-30-95-134:...• *6APP++++++++....
|
[{"block_num":"0","line_num [{"block_num":"0","line_num":"0","top":"0.006976744645528443","conf":"1","width":"0.03488371902041965","left":"0.03488372130374368","page_num":"0","level":"0","height":"0.013953487608167836","par_num":"0","text":"iTerm2","word_num":"0"},{"height":"0.013953487608167836","text":"Shell","line_num":"0","level":"0","left":"0.08284883872795794","conf":"1","word_num":"0","block_num":"0","page_num":"0","par_num":"0","width":"0.031976742214626735","top":"0.006976744412970359"},{"line_num":"0","word_num":"0","conf":"0.5","height":"0.018069469663831828","block_num":"0","level":"0","top":"0.0037559631581464137","width":"0.05397949748569064","left":"0.11617885547956766","par_num":"0","text":"Edit View","page_num":"0"},{"width":"0.03494918876224096","height":"0.014378567801581421","par_num":"0","word_num":"0","line_num":"0","left":"0.18165331303221152","top":"0.006764204360345194","block_num":"0","text":"Session","page_num":"0","conf":"1","level":"0"},{"conf":"0.5","height":"0.014077084859212219","par_num":"0","top":"0.006914945827753649","page_num":"0","level":"0","line_num":"0","width":"0.031997723049587645","word_num":"0","left":"0.2296406737588108","text":"Scripts","block_num":"0"},{"page_num":"0","level":"0","width":"0.033470148510403086","text":"Profiles","block_num":"0","left":"0.27323585639556563","line_num":"0","word_num":"0","height":"0.014200344085693373","conf":"1","par_num":"0","top":"0.006853316216056116"},{"height":"0.013953487608167836","conf":"1","word_num":"0","top":"0.006976744645528443","left":"0.31831395315998284","text":"Window","block_num":"0","page_num":"0","par_num":"0","width":"0.03633720874786378","level":"0","line_num":"0"},{"block_num":"0","text":"Help","conf":"1","par_num":"0","word_num":"0","page_num":"0","height":"0.013953487608167836","left":"0.36773255878967304","level":"0","line_num":"0","width":"0.02034883631600276","top":"0.006976744474985863"},{"text":"APP (-zsh)","block_num":"0","width":"0.049418603049384224","par_num":"0","line_num":"0","height":"0.014496124055650483","level":"0","top":"0.03666666662527551","conf":"1","left":"0.47529069803997187","page_num":"0","word_num":"0"},{"width":"0.013081394301520444","par_num":"0","word_num":"0","top":"0.06511627921917185","level":"0","block_num":"0","left":"0.47238372128431727","line_num":"0","conf":"0.30000001192092896","height":"0.013953487608167947","page_num":"0","text":"83"},{"line_num":"0","top":"0.06744186036718058","conf":"1","par_num":"0","width":"0.03488372166951498","text":"DOCKER","height":"0.01162790722317164","page_num":"0","word_num":"0","block_num":"0","left":"0.05087209272312927","level":"0"},{"level":"0","conf":"0.30000001192092896","left":"0.14680232582288885","height":"0.011627906163533597","width":"0.010174418158001353","page_num":"0","top":"0.06744186101707039","word_num":"0","par_num":"0","block_num":"0","text":"881","line_num":"0"},{"width":"0.05087209277682833","block_num":"0","text":"DEV (docker)","word_num":"0","left":"0.2107558135640147","conf":"1","level":"0","height":"0.011627906163533597","par_num":"0","line_num":"0","page_num":"0","top":"0.0674418609589309"},{"left":"0.30813953472970373","page_num":"0","height":"0.011627907223171752","text":"₴82","top":"0.06744186045818157","conf":"0.30000001192092896","line_num":"0","par_num":"0","block_num":"0","width":"0.014534884028964579","word_num":"0","level":"0"},{"height":"0.011627906163533597","level":"0","line_num":"0","page_num":"0","text":"APP (-zsh)","width":"0.040697672632005466","par_num":"0","word_num":"0","left":"0.3793604658741403","conf":"0.5","top":"0.0674418609589309","block_num":"0"},{"conf":"1","top":"0.0648826047097042","page_num":"0","width":"0.048017358779907204","level":"0","block_num":"0","word_num":"0","height":"0.014420836766560807","line_num":"0","par_num":"0","text":"screenpipe\"","left":"0.5348576004786272"},{"par_num":"0","level":"0","page_num":"0","text":"front-end/src/components/AiReports/Manage/__tests_","top":"0.09069767473716484","left":"0.008720942522972407","conf":"1","line_num":"0","block_num":"0","width":"0.2790697521633572","word_num":"0","height":"0.016279069052802186"},{"top":"0.0906976745315402","block_num":"0","height":"0.01860465155707458","level":"0","par_num":"0","width":"0.14098837110731333","line_num":"0","conf":"1","page_num":"0","text":"_/ManageAiReports.spec.js","word_num":"0","left":"0.2863372117089401"},{"text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","conf":"1","left":"0.00872094763883828","line_num":"0","level":"0","block_num":"0","width":"0.44622090657552077","word_num":"0","page_num":"0","par_num":"0","height":"0.016279069052802186","top":"0.1093023258515059"},{"top":"0.13023255838057568","width":"0.5232557932535807","level":"0","word_num":"0","conf":"1","left":"0.008720945815069964","page_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","height":"0.016279069052802186"},{"text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","block_num":"0","height":"0.018604651557074692","level":"0","top":"0.1488372093377417","width":"0.6002906799316406","word_num":"0","left":"0.00872092909910249","page_num":"0","conf":"1","par_num":"0","line_num":"0"},{"conf":"1","top":"0.16976744197340066","height":"0.018604651557074692","left":"0.008720941327598099","text":"front-end/src/components/AiReports/constants.js","par_num":"0","page_num":"0","level":"0","block_num":"0","line_num":"0","width":"0.26308138105604384","word_num":"0"},{"text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","conf":"1","left":"0.008720944627202777","line_num":"0","top":"0.18837209251603637","block_num":"0","height":"0.01860465155707458","level":"0","page_num":"0","width":"0.4127906799316406","word_num":"0","par_num":"0"},{"height":"0.01860465155707458","block_num":"0","conf":"1","left":"0.008720936305477206","par_num":"0","line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","word_num":"0","page_num":"0","top":"0.20930232526797432","width":"0.4069767422146267","level":"0"},{"width":"0.35755814446343315","left":"0.00872093223776006","height":"0.016279069052802186","par_num":"0","word_num":"0","line_num":"0","block_num":"0","page_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","level":"0","top":"0.2302325584096454","conf":"1"},{"par_num":"0","level":"0","page_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","top":"0.2488372089889045","word_num":"0","left":"0.008720934875787774","width":"0.35174418555365666","block_num":"0","conf":"1","height":"0.018604651557074692","line_num":"0"},{"top":"0.26976744154704413","page_num":"0","width":"0.4854651133219401","left":"0.008720937779436768","line_num":"0","block_num":"0","level":"0","par_num":"0","height":"0.01860465155707458","word_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","conf":"1"},{"left":"0.008720939940422036","block_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","page_num":"0","height":"0.016279069052802075","par_num":"0","level":"0","top":"0.29069767465964547","width":"0.3793604532877604","word_num":"0","conf":"1","line_num":"0"},{"text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","width":"0.3851743910047743","par_num":"0","left":"0.008720948847176679","top":"0.3093023252679743","line_num":"0","word_num":"0","level":"0","height":"0.01860465155707458","conf":"1","block_num":"0","page_num":"0"},{"level":"0","block_num":"0","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/","width":"0.27180230882432727","word_num":"0","top":"0.3325581400286983","page_num":"0","line_num":"0","par_num":"0","height":"0.011627906163533597","left":"0.01017442358565618"},{"block_num":"0","top":"0.3325581400718851","conf":"0.5","height":"0.013953487608167836","left":"0.2805232549080388","line_num":"0","text":"__mocks__/nudges.js","page_num":"0","word_num":"0","level":"0","par_num":"0","width":"0.1061046494377984"},{"height":"0.01860465155707458","conf":"1","par_num":"0","width":"0.4622092776828342","level":"0","left":"0.008720944988524652","top":"0.3488372088726255","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","word_num":"0","block_num":"0","line_num":"0"},{"line_num":"0","page_num":"0","block_num":"0","height":"0.01860465155707458","left":"0.008720943423469624","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","top":"0.3697674416633232","width":"0.3183139377170139","word_num":"0","conf":"1","par_num":"0","level":"0"},{"level":"0","line_num":"0","top":"0.3883720938223495","width":"0.31540696885850694","height":"0.020930230882432732","left":"0.008720939432180469","word_num":"0","conf":"1","page_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","block_num":"0"},{"height":"0.018604651557074692","par_num":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","left":"0.32994186531367026","level":"0","top":"0.36976744175634635","width":"0.2790697521633572","word_num":"0","block_num":"0","line_num":"0","conf":"1","page_num":"0"},{"block_num":"0","conf":"1","left":"0.329941858342544","text":"/__snapshots__/saved-search-modal.output.html","line_num":"0","top":"0.3883720925160363","level":"0","height":"0.01860465155707458","page_num":"0","par_num":"0","word_num":"0","width":"0.25145348442925347"},{"height":"0.018604651557074692","level":"0","par_num":"0","block_num":"0","line_num":"0","top":"0.4093023252679743","left":"0.008720939459133782","conf":"1","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","width":"0.32412789662679037","word_num":"0"},{"text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","page_num":"0","block_num":"0","level":"0","height":"0.016279069052802075","word_num":"0","par_num":"0","left":"0.008720945245547382","top":"0.4302325583805757","conf":"1","line_num":"0","width":"0.36773253546820744"},{"height":"0.01860465155707458","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","par_num":"0","left":"0.008720939802207934","block_num":"0","page_num":"0","top":"0.4488372090276642","word_num":"0","level":"0","line_num":"0","width":"0.4854651133219401","conf":"1"},{"par_num":"0","width":"0.49709298875596786","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","height":"0.016279069052802075","line_num":"0","word_num":"0","page_num":"0","block_num":"0","conf":"1","left":"0.007267450825504717","top":"0.4697674423340641","level":"0"},{"block_num":"0","par_num":"0","width":"0.245639525519477","word_num":"0","height":"0.016279069052802186","line_num":"0","level":"0","left":"0.008720936961676194","text":"tests/Feature/NudgeProcessingFeatureTest.php","top":"0.49069767467902525","conf":"1","page_num":"0"},{"conf":"1","top":"0.509302325306734","par_num":"0","line_num":"0","height":"0.01860465155707458","left":"0.008720940809666643","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","level":"0","word_num":"0","page_num":"0","block_num":"0","width":"0.3241278966267904"},{"line_num":"0","page_num":"0","width":"0.4127906799316406","top":"0.5302325584096454","height":"0.016279069052802186","level":"0","conf":"1","par_num":"0","block_num":"0","left":"0.008720944263830709","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","word_num":"0"},{"width":"0.3808139377170139","conf":"1","left":"0.007267443399245208","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","word_num":"0","level":"0","top":"0.548837209182703","par_num":"0","page_num":"0","height":"0.018604651557074692","block_num":"0","line_num":"0"},{"width":"0.26308138105604384","par_num":"0","height":"0.018604651557074692","word_num":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","conf":"1","level":"0","line_num":"0","block_num":"0","page_num":"0","left":"0.00872094066747218","top":"0.5697674415470441"},{"text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","word_num":"0","line_num":"0","conf":"1","page_num":"0","top":"0.5906976748922036","left":"0.008720935081112163","level":"0","width":"0.2790697521633572","height":"0.016279069052802297","block_num":"0","par_num":"0"},{"page_num":"0","level":"0","conf":"1","left":"0.008720935288035392","top":"0.6093023252912301","block_num":"0","height":"0.018604651557074692","par_num":"0","width":"0.40697674221462665","word_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","line_num":"0"},{"height":"0.018604651557074692","left":"0.008720932494423177","line_num":"0","top":"0.630232558174951","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","conf":"1","level":"0","width":"0.3735465155707466","par_num":"0","word_num":"0","page_num":"0","block_num":"0"},{"par_num":"0","width":"0.3575581444634332","level":"0","conf":"1","block_num":"0","height":"0.018604651557074692","line_num":"0","left":"0.008720925345802873","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","word_num":"0","top":"0.6488372087951062","page_num":"0"},{"conf":"1","top":"0.6674418601201179","width":"0.30668604109022357","word_num":"0","page_num":"0","block_num":"0","par_num":"0","height":"0.023669251335991737","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","left":"0.008720930055878897","line_num":"0","level":"0"},{"text":"rtarest. php","level":"0","par_num":"0","page_num":"0","block_num":"0","left":"0.30000000013888894","line_num":"0","height":"0.053333333333333344","conf":"0.30000001192092896","top":"0.64","width":"0.06666666666666665","word_num":"0"},{"par_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","width":"0.45784882439507385","word_num":"0","height":"0.016279069052802186","left":"0.008720943324406762","page_num":"0","level":"0","top":"0.6906976746596454","line_num":"0","block_num":"0","conf":"1"},{"width":"0.43459303114149306","level":"0","top":"0.7088888885350363","height":"0.019018088446723147","page_num":"0","conf":"1","par_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","word_num":"0","left":"0.008720919944754178","block_num":"0","line_num":"0"},{"conf":"0.30000001192092896","height":"0.046666666666666634","text":"fonitrn/esComedad.ron,.php","top":"0.6866666667777778","page_num":"0","width":"0.14583333333333337","word_num":"0","level":"0","left":"0.3208333309027779","par_num":"0","line_num":"0","block_num":"0"},{"conf":"1","par_num":"0","top":"0.73","page_num":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","width":"0.4186046600341797","line_num":"0","left":"0.008720931874829398","level":"0","word_num":"0","block_num":"0","height":"0.01666666666666672"},{"word_num":"0","line_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","top":"0.7488372099361025","left":"0.008720944031500208","level":"0","block_num":"0","conf":"1","page_num":"0","height":"0.0189405674404568","width":"0.5188953399658203","par_num":"0"},{"height":"0.01912144766913515","line_num":"0","width":"0.556686019897461","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","word_num":"0","level":"0","par_num":"0","top":"0.769767441714528","page_num":"0","block_num":"0","left":"0.00872094292957427","conf":"1"},{"text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","word_num":"0","top":"0.7883720927330905","line_num":"0","block_num":"0","height":"0.018604651557074692","par_num":"0","level":"0","left":"0.008720950932465657","conf":"1","page_num":"0","width":"0.5232557932535807"},{"top":"0.8088888884187573","height":"0.019018088446723147","level":"0","left":"0.008720932168461499","word_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","conf":"1","line_num":"0","width":"0.5130814022488065","block_num":"0","par_num":"0","page_num":"0"},{"height":"0.018888888888888955","line_num":"0","left":"0.00872093066119501","level":"0","page_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","block_num":"0","conf":"1","par_num":"0","word_num":"0","width":"0.5901162889268663","top":"0.83"},{"line_num":"0","level":"0","page_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","left":"0.00872093066119501","top":"0.8488372098663348","height":"0.0189405674404568","block_num":"0","par_num":"0","width":"0.5901162889268663","conf":"1","word_num":"0"},{"par_num":"0","page_num":"0","left":"0.00872095191817562","level":"0","conf":"1","height":"0.016279069052802186","top":"0.8697674421015059","width":"0.6017441643608942","word_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","line_num":"0","block_num":"0"},{"level":"0","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","top":"0.8906976746596453","par_num":"0","height":"0.016279069052802186","word_num":"0","line_num":"0","block_num":"0","left":"0.008720941480167237","conf":"1","width":"0.5188953399658204","page_num":"0"},{"width":"0.5130813598632812","left":"0.008720965718114076","line_num":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","level":"0","page_num":"0","word_num":"0","par_num":"0","block_num":"0","conf":"1","height":"0.019018088446723036","top":"0.9088888883993775"},{"word_num":"0","par_num":"0","page_num":"0","block_num":"0","height":"0.016666666666666607","conf":"1","line_num":"0","level":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","left":"0.008720959803854693","top":"0.93","width":"0.4796511332194011"},{"par_num":"0","conf":"1","line_num":"0","left":"0.008720958818144888","top":"0.9488372099361024","page_num":"0","word_num":"0","block_num":"0","width":"0.4636627621120876","height":"0.0189405674404568","level":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php"},{"page_num":"0","height":"0.02144702911376961","top":"0.9674418601201177","par_num":"0","width":"0.5348837110731336","block_num":"0","word_num":"0","line_num":"0","left":"0.004360485232488721","conf":"1","level":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O"},{"page_num":"0","block_num":"0","conf":"0.30000001192092896","word_num":"0","par_num":"0","level":"0","width":"0.010174418265503915","left":"0.6845930235949612","line_num":"0","text":"<","height":"0.018604650542635714","top":"0.00465116294573642"},{"top":"0.06511627927731145","left":"0.6250000001737047","block_num":"0","line_num":"0","par_num":"0","text":"O 84","word_num":"0","height":"0.013953487608167836","width":"0.024709301524692084","level":"0","page_num":"0","conf":"0.30000001192092896"},{"page_num":"0","block_num":"0","conf":"1","top":"0.09069767487808655","line_num":"0","width":"0.01453488270441694","word_num":"0","level":"0","left":"0.651162790963683","height":"0.013953487608167947","par_num":"0","text":"66"},{"level":"0","line_num":"0","page_num":"0","block_num":"0","par_num":"0","word_num":"0","text":"++++","top":"0.09302325610427975","width":"0.024709301524692084","conf":"1","left":"0.668604651975057","height":"0.011627906163533486"},{"block_num":"0","text":"23 +-","top":"0.1088888889538393","left":"0.6511627914915763","par_num":"0","height":"0.01669250594245064","word_num":"0","width":"0.03052325513627796","line_num":"0","page_num":"0","conf":"1","level":"0"},{"top":"0.130232558334064","width":"0.014534884028964634","block_num":"0","line_num":"0","left":"0.6511627904273781","height":"0.016279069052802186","page_num":"0","word_num":"0","level":"0","conf":"1","par_num":"0","text":"20"},{"page_num":"0","height":"0.011627906163533486","line_num":"0","block_num":"0","level":"0","text":"+-","width":"0.013081394301520444","conf":"0.5","top":"0.13255813982521003","left":"0.6686046519044723","word_num":"0","par_num":"0"},{"left":"0.658430232751938","par_num":"0","conf":"1","width":"0.007267441618217019","block_num":"0","height":"0.013953487906976814","line_num":"0","page_num":"0","level":"0","text":"4","top":"0.15116279116279063","word_num":"0"},{"height":"0.011627906163533486","line_num":"0","left":"0.6686046510880266","width":"0.01162790722317164","word_num":"0","level":"0","conf":"0.30000001192092896","text":"+-","page_num":"0","top":"0.15348837269342708","par_num":"0","block_num":"0"},{"width":"0.01889534791310632","page_num":"0","word_num":"0","conf":"0.30000001192092896","height":"0.013953487608167947","line_num":"0","text":"7 +","par_num":"0","left":"0.6584302333351134","top":"0.16976744216490824","level":"0","block_num":"0"},{"word_num":"0","height":"0.013953487608167836","block_num":"0","level":"0","line_num":"0","par_num":"0","text":"1 +","width":"0.01889534791310632","left":"0.6584302333351134","conf":"0.5","top":"0.19069767472304788","page_num":"0"},{"conf":"1","page_num":"0","height":"0.016279069052802186","left":"0.6511627914570022","line_num":"0","block_num":"0","level":"0","top":"0.20930232582243613","width":"0.015988371107313437","text":"24","word_num":"0","par_num":"0"},{"line_num":"0","page_num":"0","left":"0.6700581396855341","par_num":"0","height":"0.009302325778537401","text":"+-","width":"0.010174418158001464","top":"0.21395348820707683","conf":"0.5","block_num":"0","word_num":"0","level":"0"},{"text":"10","word_num":"0","page_num":"0","conf":"1","par_num":"0","block_num":"0","height":"0.013953487608167947","top":"0.23023255863777647","level":"0","line_num":"0","left":"0.6511627910242451","width":"0.01453488270441694"},{"block_num":"0","word_num":"0","conf":"0.5","text":"5 +","height":"0.01671834627787272","top":"0.2488372092900042","width":"0.01889534791310632","line_num":"0","level":"0","page_num":"0","par_num":"0","left":"0.6584302327537183"},{"conf":"1","page_num":"0","top":"0.26976744235870675","block_num":"0","width":"0.01889534791310621","height":"0.013953487608167836","line_num":"0","left":"0.646802325807255","text":"170","level":"0","par_num":"0","word_num":"0"},{"par_num":"0","text":"18","width":"0.01453488270441694","word_num":"0","left":"0.651162790963683","line_num":"0","conf":"1","height":"0.013953487608167836","top":"0.2906976748780866","page_num":"0","level":"0","block_num":"0"},{"par_num":"0","width":"0.01453488270441694","left":"0.651162791205931","page_num":"0","line_num":"0","top":"0.30930232621003295","conf":"1","block_num":"0","word_num":"0","text":"16","level":"0","height":"0.016279069052802297"},{"conf":"0.30000001192092896","height":"0.011627906163533486","top":"0.31395348897249686","word_num":"0","left":"0.6686046517106738","par_num":"0","text":"+-","line_num":"0","level":"0","page_num":"0","width":"0.013081394301520444","block_num":"0"},{"text":"62","word_num":"0","block_num":"0","page_num":"0","left":"0.6482558143219299","par_num":"0","top":"0.3488372088726255","level":"0","conf":"1","height":"0.01860465155707458","line_num":"0","width":"0.017441859510209934"},{"left":"0.6366279070251938","par_num":"0","height":"0.013953487906976814","line_num":"0","conf":"1","page_num":"0","level":"0","text":"-","top":"0.36976744186046506","block_num":"0","width":"0.008720929941860467","word_num":"0"},{"word_num":"0","page_num":"0","line_num":"0","left":"0.646802325807255","height":"0.013953487608167836","level":"0","par_num":"0","text":"942","top":"0.36976744235870673","width":"0.01889534791310621","block_num":"0","conf":"1"},{"line_num":"0","level":"0","conf":"1","width":"0.01889534791310621","block_num":"0","word_num":"0","top":"0.39069767491684626","par_num":"0","left":"0.646802325807255","height":"0.013953487608167947","page_num":"0","text":"942"},{"left":"0.6511627910605823","conf":"1","top":"0.4093023256673973","word_num":"0","block_num":"0","height":"0.016279069052802186","page_num":"0","width":"0.01453488270441694","line_num":"0","par_num":"0","text":"21","level":"0"},{"block_num":"0","left":"0.6511627906082568","height":"0.016279070112440452","level":"0","text":"33","top":"0.43023255805747485","par_num":"0","word_num":"0","line_num":"0","conf":"1","width":"0.014534884028964523","page_num":"0"},{"par_num":"0","top":"0.3534883723833495","block_num":"0","page_num":"0","text":"+++","left":"0.6700581403030346","height":"0.011627906163533486","conf":"1","width":"0.017441859510209823","word_num":"0","level":"0","line_num":"0"},{"height":"0.011627906163533597","line_num":"0","level":"0","page_num":"0","conf":"0.5","top":"0.06744186098800065","left":"0.7194767443728021","block_num":"0","word_num":"0","par_num":"0","text":"-zsh","width":"0.017441859510209823"},{"left":"0.7994186049777334","top":"0.0674418609589309","page_num":"0","line_num":"0","width":"0.01453488270441694","par_num":"0","word_num":"0","text":"885","conf":"0.30000001192092896","block_num":"0","level":"0","height":"0.011627906163533597"},{"conf":"0.30000001192092896","level":"0","height":"0.014181681738959395","line_num":"0","page_num":"0","text":"100% <7","top":"0.0068626474102171375","left":"0.8168458269716159","par_num":"0","width":"0.04218044016096334","block_num":"0","word_num":"0"},{"top":"0.00666666666666671","width":"0.09738372166951492","conf":"1","left":"0.8909883701829538","block_num":"0","level":"0","word_num":"0","line_num":"0","height":"0.014444444444444371","page_num":"0","par_num":"0","text":"Mon 27 Apr 18:59:32"},{"conf":"0.30000001192092896","level":"0","par_num":"0","height":"0.013953487608167836","page_num":"0","left":"0.9723837216312426","line_num":"0","text":"181","width":"0.020348836316002705","top":"0.034883721195916095","block_num":"0","word_num":"0"},{"line_num":"0","top":"0.06744186083296189","word_num":"0","conf":"1","block_num":"0","level":"0","par_num":"0","text":"ec2-user@ip-10-30-95-134:...","width":"0.11046511332194009","left":"0.8372093056452314","page_num":"0","height":"0.011627906163533597"},{"par_num":"0","top":"0.06511627933545094","left":"0.9534883728481232","height":"0.013953487608167836","page_num":"0","level":"0","line_num":"0","block_num":"0","width":"0.024709301524692084","text":"• *6","word_num":"0","conf":"0.30000001192092896"},{"height":"0.08372093200683584","conf":"0.30000001192092896","word_num":"0","block_num":"0","par_num":"0","text":"APP","left":"0.8517441850662857","width":"0.1395348866780598","top":"0.14651162688694752","page_num":"0","line_num":"0","level":"0"},{"left":"0.6686046489065398","line_num":"0","width":"0.013081399599711108","text":"++++","level":"0","word_num":"0","conf":"0.30000001192092896","height":"0.0813953484429254","par_num":"0","page_num":"0","block_num":"0","top":"0.4511627900808629"},{"par_num":"0","page_num":"0","top":"0.5325581392707482","word_num":"0","level":"0","conf":"1","text":"++","width":"0.011627907223171752","line_num":"0","block_num":"0","left":"0.6700581393147707","height":"0.013953488667805991"},{"conf":"0.30000001192092896","top":"0.6116279067372514","width":"0.013081395626068137","level":"0","line_num":"0","left":"0.6700581393235938","page_num":"0","height":"0.01162790722317164","block_num":"0","par_num":"0","text":"++.","word_num":"0"}]...
|
Slack
|
AppleNative
|
Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Nikolay Yankov (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3841
|
NULL
|
NULL
|
|
89233
|
HomeActivityFllesLaterMoreSlackVievJiminny... v@ j HomeActivityFllesLaterMoreSlackVievJiminny... v@ jiminny-x-integrati& platform-inner-team© Channels# ai-chapter# alertsic backend# confusion-clinic# curiosity_lab# engineering# generall# infra-changes# jiminny-bga mlatorm-nckets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesR.. Nikolay YankovP. Galya DimitrovaA. Aneliya AngelovaeVacil VasilerAneliya Angelova,..C. Nikolay IvanovR. Nikolay Nikolovfl. Stefka StoyanovaR. Adelina PetrovaR. Stoyan Tomov( Petko Kashinski88. Mario Georgiev%: Todor StamatovP. Gabriela Dureva#::Anndf Jira Cloud® ToastMistonWindowHelpQ Describe what you are looking for% Galya DimitrovaMessagese FilesUntitledFriday. April 24th~•orce neucom mach your iters, your next schefuled report wil beYou can review or update your liiters anytime in Jiminny » Al keports.аз го направих със линк но сега гледам може би трябва да се само текстCleanShot 2026-04-24 at [EMAIL] there¡ activities' report for 12 - 18Galya Dimitrova # 1:31 PMИ с линк е окLukas Kovalik 1:32 PMToday~Galya Dimitrova # 5:25 PMкогато имаш време дали можеш да ми кажеш естимеит за това, че преди малко се сетих5:25 https://jiminny.atlassian.net/bhowse/JY-20740JY-20740 Release AJ Panorama reports to customers… Tvpe: Storv®) Assignee: Unassiened1 Prioritv: MediumAsSigrChange status*+ Al Summarise• Savби трябва май основно миграция да е майr • Due 29 minutes agoLukas Kovallik 5:26 PMШе го вилия слел като се въона от градина сMessage Galya Dimitrova In a meeting • Google Calendar+ AaQ4A 10%4 & Mon27 Apr 18:59:33*Al reports promotion pages #11998nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pagesranoramakeportsrrono leatures gria nourixea — meala (modile 1 gria-temptate-cotumns: 1Tr yoseeisadded at line 170Fixed - both now say "We will get in touch with you as soonWording inconsistency (modal vs inline)as possible.nrer compured calling can a secondFixed - canManageAiReports extracted as a sharedcomputedtimetrackInterest endpoint missing ratelimitinaStill present (see below)Remaining issues. Extra DB query still fires on every page loadapp/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the firstnatching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on twoISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as theuaaested mitiaations (in order of effort):• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')->remember ("user_reports_exist_(Suser->getId()}", ...) so it's computed at most once per request even iftransform() is called multiple times in a single response• Denormalised boolean: add a has_generated_ai_reports columnto users, set/cleared by the report generation/deletion pipeline — eliminates the querv entirelv.Fix this →.trackInterest endpoint has no rate limit or idempotency guardapp/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/pi.php:282public function trackInterest(Request srequest): JsonResponsedefer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicateracking noise in analytics....
|
[{"conf":"1","left":"0 [{"conf":"1","left":"0.0058139540803213065","block_num":"0","height":"0.013937282410154683","word_num":"0","width":"0.011627906180442649","line_num":"0","page_num":"0","par_num":"0","text":"Home","top":"0.13588850153592147","level":"0"},{"page_num":"0","height":"0.017421602252187585","level":"0","conf":"1","block_num":"0","par_num":"0","word_num":"0","top":"0.24390243911780862","width":"0.014534883042599294","text":"Activity","line_num":"0","left":"0.004360465697692593"},{"width":"0.00872092995237797","top":"0.29965156806670534","block_num":"0","page_num":"0","left":"0.0072674419278807864","level":"0","conf":"0.5","par_num":"0","text":"Flles","word_num":"0","height":"0.017421602252187474","line_num":"0"},{"par_num":"0","top":"0.3519163764290747","text":"Later","block_num":"0","line_num":"0","page_num":"0","word_num":"0","left":"0.005813953538407517","level":"0","conf":"1","height":"0.017421602252187474","width":"0.010174418383456292"},{"page_num":"0","par_num":"0","left":"0.0058139540803213065","height":"0.013937282410154683","text":"More","block_num":"0","top":"0.407665505020242","width":"0.011627906180442649","line_num":"0","level":"0","conf":"1","word_num":"0"},{"line_num":"0","word_num":"0","top":"-0.00000000002272559918026218","block_num":"0","par_num":"0","width":"0.01453488304259929","height":"0.017421602252187585","conf":"1","level":"0","text":"Slack","left":"0.015988372286839896","page_num":"0"},{"level":"0","top":"0.006968641514772389","page_num":"0","line_num":"0","width":"0.010174418383456285","word_num":"0","par_num":"0","block_num":"0","height":"0.010452961047110243","conf":"0.30000001192092896","left":"0.06395348822833001","text":"Viev"},{"top":"0.06618819786721097","level":"0","page_num":"0","text":"Jiminny... v","word_num":"0","width":"0.03633720570422234","par_num":"0","conf":"0.30000001192092896","height":"0.013951173809726769","left":"0.02761628269152134","block_num":"0","line_num":"0"},{"conf":"0.5","text":"@ jiminny-x-integrati","word_num":"0","left":"0.03343023162082732","par_num":"0","top":"0.09407665591941561","page_num":"0","width":"0.04941860158392724","height":"0.010452960286604362","line_num":"0","level":"0","block_num":"0"},{"par_num":"0","conf":"0.5","height":"0.017571645490290444","level":"0","line_num":"0","page_num":"0","text":"& platform-inner-team","top":"0.11483253574621899","word_num":"0","width":"0.05377906941353006","block_num":"0","left":"0.03343023206285708"},{"block_num":"0","text":"© Channels","top":"0.14274322169059017","level":"0","page_num":"0","line_num":"0","conf":"0.30000001192092896","par_num":"0","word_num":"0","height":"0.01754385964912275","left":"0.029069768796061723","width":"0.029069766085198585"},{"word_num":"0","conf":"1","height":"0.01758827927390172","text":"# ai-chapter","left":"0.033422709569745725","level":"0","page_num":"0","block_num":"0","top":"0.16716404840283072","line_num":"0","par_num":"0","width":"0.03344527964896344"},{"block_num":"0","top":"0.18815331079259123","left":"0.033430233468533056","conf":"0.5","level":"0","line_num":"0","text":"# alerts","word_num":"0","width":"0.021802323929806973","par_num":"0","page_num":"0","height":"0.01758831577818165"},{"width":"0.027616277654120266","page_num":"0","word_num":"0","level":"0","block_num":"0","height":"0.007257612128006796","line_num":"0","par_num":"0","conf":"0.30000001192092896","text":"ic backend","top":"0.2160278744399171","left":"0.03343023381885928"},{"par_num":"0","page_num":"0","left":"0.033430233663020295","block_num":"0","level":"0","conf":"0.5","word_num":"0","height":"0.017746694160230114","width":"0.045058138827060126","text":"# confusion-clinic","top":"0.23344947777831704","line_num":"0"},{"height":"0.017574424378609566","conf":"1","page_num":"0","text":"# curiosity_lab","block_num":"0","level":"0","word_num":"0","left":"0.03343023247811925","line_num":"0","par_num":"0","top":"0.25435540043982896","width":"0.03779069667166852"},{"level":"0","top":"0.2787456450411536","word_num":"0","par_num":"0","line_num":"0","text":"# engineering","left":"0.03343023248338709","block_num":"0","width":"0.03633720824059019","height":"0.017421602252187585","conf":"1","page_num":"0"},{"conf":"0.5","block_num":"0","page_num":"0","word_num":"0","width":"0.026162789223041938","level":"0","height":"0.010558546635142552","line_num":"0","left":"0.03343023460359518","par_num":"0","text":"# generall","top":"0.3030303029362562"},{"width":"0.04069767353382517","word_num":"0","left":"0.033430232370684335","level":"0","line_num":"0","page_num":"0","height":"0.020905922094220375","par_num":"0","block_num":"0","conf":"1","text":"# infra-changes","top":"0.3205574915661302"},{"word_num":"0","par_num":"0","width":"0.03343023137843355","block_num":"0","left":"0.03343023267189024","top":"0.3449477351689121","line_num":"0","page_num":"0","height":"0.017421602252187474","level":"0","conf":"1","text":"# jiminny-bg"},{"height":"0.006968641205077342","line_num":"0","par_num":"0","top":"0.3728222995949062","word_num":"0","text":"a mlatorm-nckets","conf":"0.30000001192092896","width":"0.04360465293234968","left":"0.03343023160068563","block_num":"0","page_num":"0","level":"0"},{"line_num":"0","par_num":"0","left":"0.03343023562535342","level":"0","top":"0.3899521529042582","text":"# product_launches","word_num":"0","conf":"1","page_num":"0","block_num":"0","height":"0.01771335206343605","width":"0.04941860158392724"},{"block_num":"0","conf":"1","height":"0.010452960286604362","left":"0.033430231987316365","level":"0","page_num":"0","par_num":"0","top":"0.41463414720861425","width":"0.026162789223041945","word_num":"0","text":"# random","line_num":"0"},{"height":"0.014354066985646008","conf":"1","block_num":"0","text":"# releases","width":"0.02761627765412026","word_num":"0","par_num":"0","line_num":"0","level":"0","top":"0.43540669856459324","left":"0.033430233971852706","page_num":"0"},{"block_num":"0","page_num":"0","line_num":"0","par_num":"0","text":"# sofia-office","top":"0.45614035056563407","width":"0.034883719809511875","word_num":"0","left":"0.03343023258555416","conf":"1","height":"0.017727244984020007","level":"0"},{"word_num":"0","left":"0.033430233969918705","line_num":"0","block_num":"0","height":"0.013937282410154683","level":"0","page_num":"0","text":"# support","width":"0.027616277654120266","par_num":"0","top":"0.48083623672755915","conf":"0.5"},{"left":"0.0334302336998952","block_num":"0","word_num":"0","level":"0","width":"0.03488371980951188","top":"0.5015948961656965","conf":"1","text":"# thank-yous","par_num":"0","height":"0.017568866601971322","line_num":"0","page_num":"0"},{"height":"0.017741137904603632","block_num":"0","par_num":"0","word_num":"0","level":"0","text":"# the_people_of jimi...","top":"0.5223285484012261","conf":"0.5","page_num":"0","width":"0.05523255530824053","left":"0.033430235379805606","line_num":"0"},{"block_num":"0","text":"• Direct messages","word_num":"0","width":"0.04505813882706014","height":"0.017763365969133194","line_num":"0","level":"0","left":"0.029069768385209225","conf":"0.30000001192092896","page_num":"0","par_num":"0","top":"0.5540069688436597"},{"line_num":"0","top":"0.5749128923963397","width":"0.04360464785961394","word_num":"0","left":"0.03343023583128022","par_num":"0","page_num":"0","block_num":"0","level":"0","height":"0.017591094666500773","text":"R.. Nikolay Yankov","conf":"0.30000001192092896"},{"line_num":"0","par_num":"0","width":"0.05232558351881961","left":"0.033430231670305025","text":"P. Galya Dimitrova","conf":"0.30000001192092896","top":"0.5956937799261789","word_num":"0","level":"0","block_num":"0","height":"0.021030958379474773","page_num":"0"},{"conf":"0.5","left":"0.03343023353108929","top":"0.6202090594836914","width":"0.047965115689216783","height":"0.017749473048549347","word_num":"0","par_num":"0","block_num":"0","page_num":"0","level":"0","text":"A. Aneliya Angelova","line_num":"0"},{"line_num":"0","par_num":"0","text":"eVacil Vasiler","page_num":"0","block_num":"0","level":"0","conf":"0.30000001192092896","top":"0.6480836236338143","width":"0.034883719809511875","height":"0.006968641205077342","word_num":"0","left":"0.03343023352623691"},{"top":"0.6655052266178086","word_num":"0","width":"0.05087209255137342","text":"Aneliya Angelova,..","page_num":"0","conf":"0.5","height":"0.017421602252187585","block_num":"0","left":"0.03343023345119677","level":"0","par_num":"0","line_num":"0"},{"word_num":"0","page_num":"0","left":"0.0334302320269567","block_num":"0","level":"0","text":"C. Nikolay Ivanov","conf":"0.5","par_num":"0","top":"0.6864111500801692","width":"0.04215116196490349","height":"0.0177355801279655","line_num":"0"},{"block_num":"0","conf":"0.5","text":"R. Nikolay Nikolov","line_num":"0","width":"0.045058138827060126","top":"0.710526315793022","page_num":"0","word_num":"0","par_num":"0","height":"0.01769668025453308","left":"0.033430233608541776","level":"0"},{"level":"0","line_num":"0","height":"0.017421602252187585","top":"0.7317073172101431","block_num":"0","left":"0.0334302335307816","par_num":"0","page_num":"0","text":"fl. Stefka Stoyanova","width":"0.04796511568921677","word_num":"0","conf":"0.30000001192092896"},{"par_num":"0","text":"R. Adelina Petrova","word_num":"0","conf":"1","page_num":"0","block_num":"0","line_num":"0","level":"0","top":"0.7526132408363451","width":"0.045058138827060126","height":"0.017721687207381653","left":"0.033430233608541776"},{"top":"0.7767145135705419","height":"0.01771057317511704","left":"0.03343023367505823","page_num":"0","par_num":"0","text":"R. Stoyan Tomov","width":"0.04069767353382516","block_num":"0","level":"0","conf":"0.5","line_num":"0","word_num":"0"},{"conf":"1","height":"0.010452960286604362","level":"0","line_num":"0","left":"0.0334302366242539","block_num":"0","page_num":"0","par_num":"0","text":"( Petko Kashinski","top":"0.8013937287417153","word_num":"0","width":"0.043604647859613946"},{"text":"88. Mario Georgiev","block_num":"0","word_num":"0","line_num":"0","width":"0.045058138827060126","left":"0.033430233608541776","level":"0","height":"0.017552194793068465","top":"0.8221690590544602","page_num":"0","par_num":"0","conf":"0.5"},{"par_num":"0","block_num":"0","conf":"0.5","height":"0.017724466095700775","text":"%: Todor Stamatov","top":"0.8429027112899897","page_num":"0","word_num":"0","width":"0.045058138827060126","left":"0.033430233608541776","level":"0","line_num":"0"},{"word_num":"0","top":"0.8641114982351142","page_num":"0","left":"0.03343023190749662","par_num":"0","level":"0","text":"P. Gabriela Dureva","block_num":"0","line_num":"0","height":"0.017421602252187474","conf":"0.5","width":"0.04505813882706013"},{"width":"0.020348835498728648","left":"0.027616278907612524","text":"#::Annd","height":"0.010452960286604362","line_num":"0","top":"0.8989547046999035","word_num":"0","page_num":"0","conf":"0.30000001192092896","block_num":"0","par_num":"0","level":"0"},{"page_num":"0","height":"0.021014286570571805","width":"0.03197674294735523","block_num":"0","level":"0","line_num":"0","text":"f Jira Cloud","word_num":"0","par_num":"0","conf":"0.30000001192092896","left":"0.033430232775161696","top":"0.9162679426407265"},{"text":"® Toast","width":"0.023255812360885295","block_num":"0","left":"0.03343023412519857","conf":"0.30000001192092896","level":"0","line_num":"0","par_num":"0","page_num":"0","height":"0.017766144857452204","top":"0.9407665505780702","word_num":"0"},{"block_num":"0","par_num":"0","level":"0","width":"0.01598837020549368","conf":"0.30000001192092896","text":"Miston","left":"0.09302325755713681","word_num":"0","line_num":"0","top":"0.006968641450188162","height":"0.006968640444571461","page_num":"0"},{"block_num":"0","par_num":"0","conf":"1","top":"-0.00000000002272559918026218","line_num":"0","height":"0.017421602252187585","page_num":"0","text":"Window","word_num":"0","level":"0","left":"0.1148255813795635","width":"0.018895348335834256"},{"width":"0.013081394611520969","text":"Help","page_num":"0","top":"-0.00000000002272559918026218","word_num":"0","height":"0.017421602252187585","level":"0","conf":"1","block_num":"0","left":"0.13662790722427826","line_num":"0","par_num":"0"},{"page_num":"0","top":"0.027874564683673886","line_num":"0","level":"0","par_num":"0","conf":"1","left":"0.14098837474722473","text":"Q Describe what you are looking for","width":"0.07267441648118039","height":"0.017579980634236048","word_num":"0","block_num":"0"},{"conf":"0.30000001192092896","width":"0.06540697178942094","text":"% Galya Dimitrova","block_num":"0","page_num":"0","level":"0","left":"0.11337209797339946","line_num":"0","height":"0.021014286570571916","par_num":"0","top":"0.06271777048382365","word_num":"0"},{"conf":"1","height":"0.006968641205077453","level":"0","block_num":"0","par_num":"0","width":"0.02470930332833149","top":"0.10452961670018723","word_num":"0","page_num":"0","text":"Messages","line_num":"0","left":"0.10465116236199706"},{"left":"0.1366279074930706","width":"0.014534883042599311","block_num":"0","conf":"0.30000001192092896","word_num":"0","line_num":"0","par_num":"0","height":"0.0071770334928229484","top":"0.1044657097288676","level":"0","text":"e Files","page_num":"0"},{"conf":"0.30000001192092896","width":"0.023255814897253146","par_num":"0","height":"0.006968641205077342","line_num":"0","top":"0.10452961670292016","block_num":"0","word_num":"0","left":"0.1584302321540866","page_num":"0","text":"Untitled","level":"0"},{"block_num":"0","top":"0.1323763954031456","text":"Friday. April 24th~","height":"0.010480746888277825","page_num":"0","level":"0","line_num":"0","conf":"0.5","width":"0.039244182566379016","word_num":"0","par_num":"0","left":"0.2776162829680394"},{"left":"0.12354651463573903","page_num":"0","height":"0.024390243457264926","block_num":"0","conf":"0.30000001192092896","line_num":"0","par_num":"0","text":"•orce neucom mach your iters, your next schefuled report wil be","level":"0","top":"0.17770034906114685","width":"0.10465115689216777","word_num":"0"},{"left":"0.12063953515048521","level":"0","conf":"0.5","top":"0.2089314194577352","line_num":"0","text":"You can review or update your liiters anytime in Jiminny » Al keports.","width":"0.10319766592472158","par_num":"0","word_num":"0","page_num":"0","height":"0.0071770334928230595","block_num":"0"},{"par_num":"0","block_num":"0","text":"аз го направих със линк но сега гледам може би трябва да се само текст","line_num":"0","top":"0.2647527910685805","width":"0.17151162979450632","word_num":"0","height":"0.01754385964912286","left":"0.11627907118323974","page_num":"0","conf":"0.5","level":"0"},{"block_num":"0","text":"CleanShot 2026-04-24 at [EMAIL]","top":"0.28548644338118023","par_num":"0","conf":"1","line_num":"0","word_num":"0","left":"0.11627906765254567","width":"0.09302325958901264","level":"0","page_num":"0","height":"0.014354066985645897"},{"height":"0.007193704541220036","line_num":"0","conf":"0.30000001192092896","level":"0","block_num":"0","text":"Hi there","word_num":"0","width":"0.01889534833583427","top":"0.3205574914601137","left":"0.12209302359887107","par_num":"0","page_num":"0"},{"word_num":"0","conf":"0.5","page_num":"0","par_num":"0","top":"0.36585365879427156","width":"0.04215115942853562","text":"¡ activities' report for 12 - 18","left":"0.19331395317986574","line_num":"0","level":"0","block_num":"0","height":"0.007352082923268499"},{"par_num":"0","word_num":"0","page_num":"0","height":"0.017421602252187474","block_num":"0","conf":"0.5","left":"0.1148255823998727","text":"Galya Dimitrova # 1:31 PM","top":"0.5052264809296554","width":"0.06540697686215666","line_num":"0","level":"0"},{"level":"0","conf":"0.30000001192092896","height":"0.00951286556237807","page_num":"0","par_num":"0","top":"0.5264330157342529","width":"0.03214984498125441","text":"И с линк е ок","block_num":"0","word_num":"0","left":"0.1162323906917903","line_num":"0"},{"text":"Lukas Kovalik 1:32 PM","word_num":"0","height":"0.010736374953907224","page_num":"0","conf":"1","block_num":"0","width":"0.05087208747863768","par_num":"0","top":"0.5502392342775435","level":"0","line_num":"0","left":"0.1162790757770135"},{"block_num":"0","par_num":"0","width":"0.018895348335834228","height":"0.013937282410154683","level":"0","page_num":"0","conf":"0.5","text":"Today~","left":"0.28924418622452475","top":"0.599303135744802","word_num":"0","line_num":"0"},{"conf":"0.5","left":"0.11773255926025314","level":"0","height":"0.017805044730884623","page_num":"0","text":"Galya Dimitrova # 5:25 PM","word_num":"0","par_num":"0","block_num":"0","top":"0.6267942581568169","line_num":"0","width":"0.0625"},{"word_num":"0","conf":"0.5","line_num":"0","par_num":"0","level":"0","text":"когато имаш време дали можеш да ми кажеш естимеит за това, че преди малко се сетих","left":"0.11773255490295817","block_num":"0","top":"0.6515151515151515","height":"0.0071770334928229484","width":"0.20639533184944317","page_num":"0"},{"left":"0.10610465918479138","par_num":"0","page_num":"0","top":"0.6689895468579133","height":"0.017613324252041873","text":"5:25 https://jiminny.atlassian.net/bhowse/JY-20740","conf":"1","width":"0.11482557337334816","word_num":"0","level":"0","line_num":"0","block_num":"0"},{"text":"JY-20740 Release AJ Panorama reports to customers","left":"0.12209303103634356","page_num":"0","par_num":"0","line_num":"0","top":"0.689792663476874","conf":"1","height":"0.01754385964912286","word_num":"0","block_num":"0","width":"0.12063952709766143","level":"0"},{"block_num":"0","top":"0.7177033493439169","par_num":"0","left":"0.1584302364153276","level":"0","conf":"0.30000001192092896","text":"… Tvpe: Storv","line_num":"0","word_num":"0","page_num":"0","height":"0.010519646761710244","width":"0.02906976354883073"},{"block_num":"0","width":"0.050872087478637695","word_num":"0","left":"0.19186047079024737","conf":"0.30000001192092896","line_num":"0","top":"0.7177033491697009","height":"0.010519646761710133","par_num":"0","text":"®) Assignee: Unassiened","level":"0","page_num":"0"},{"top":"0.7177033493439169","text":"1 Prioritv: Medium","page_num":"0","left":"0.24709302667364208","block_num":"0","par_num":"0","width":"0.0406976709974573","conf":"0.5","word_num":"0","height":"0.010519646761710244","line_num":"0","level":"0"},{"line_num":"0","width":"0.013081394611520969","level":"0","left":"0.1250000002959837","page_num":"0","text":"AsSigr","word_num":"0","conf":"0.30000001192092896","height":"0.006968641205077342","block_num":"0","par_num":"0","top":"0.7526132403343564"},{"block_num":"0","par_num":"0","width":"0.02906976354883073","text":"Change status","word_num":"0","line_num":"0","conf":"1","height":"0.007354861051081851","top":"0.7526132408944168","left":"0.14534883817649236","page_num":"0","level":"0"},{"page_num":"0","text":"*+ Al Summarise","top":"0.7456140350877193","level":"0","conf":"0.5","block_num":"0","height":"0.01754385964912286","line_num":"0","par_num":"0","width":"0.036337208240590196","left":"0.18168604641044803","word_num":"0"},{"block_num":"0","page_num":"0","top":"0.8221690592867482","par_num":"0","left":"0.10901162827038066","conf":"0.30000001192092896","level":"0","text":"• Sav","word_num":"0","height":"0.017552194793068465","line_num":"0","width":"0.014534883042599284"},{"width":"0.09883720316785446","word_num":"0","text":"би трябва май основно миграция да е май","top":"0.8013937287417153","height":"0.010452960286604362","page_num":"0","conf":"1","par_num":"0","left":"0.1162790772347318","block_num":"0","level":"0","line_num":"0"},{"conf":"0.5","top":"0.8221690591706043","word_num":"0","level":"0","line_num":"0","par_num":"0","left":"0.14389535036242682","text":"r • Due 29 minutes ago","height":"0.017552194793068465","width":"0.04651162472177059","page_num":"0","block_num":"0"},{"conf":"0.30000001192092896","line_num":"0","par_num":"0","text":"Lukas Kovallik 5:26 PM","top":"0.8429027113575609","width":"0.04796511061648105","page_num":"0","word_num":"0","block_num":"0","height":"0.0072715042880847625","level":"0","left":"0.1177325587245779"},{"conf":"0.5","block_num":"0","height":"0.010480747648783706","level":"0","line_num":"0","text":"Ше го вилия слел като се въона от градина с","top":"0.8571428569798917","width":"0.10755813882706014","page_num":"0","par_num":"0","left":"0.11773255886416578","word_num":"0"},{"page_num":"0","conf":"0.5","word_num":"0","text":"Message Galya Dimitrova In a meeting • Google Calendar","block_num":"0","left":"0.10610464733936945","level":"0","line_num":"0","par_num":"0","top":"0.9198606271549747","height":"0.017421602252187474","width":"0.13662790744862657"},{"line_num":"0","top":"0.9512195119378624","width":"0.018895348335834256","word_num":"0","left":"0.10755814010049372","page_num":"0","block_num":"0","par_num":"0","height":"0.017680009966641874","conf":"0.30000001192092896","level":"0","text":"+ Aa"},{"line_num":"0","level":"0","word_num":"0","top":"0.00000000033500369145400555","block_num":"0","page_num":"0","conf":"0.30000001192092896","par_num":"0","height":"0.020905922094220375","text":"Q4A 10%4 & Mon27 Apr 18:59:33","width":"0.16279069413530067","left":"0.8343023291036361"},{"height":"0.017421602206736386","line_num":"0","width":"0.008720929941860467","left":"0.47674418604651164","block_num":"0","level":"0","conf":"0.30000001192092896","par_num":"0","text":"","top":"0.02787456492450635","page_num":"0","word_num":"0"},{"block_num":"0","height":"0.02090592282229975","par_num":"0","level":"0","page_num":"0","conf":"0.5","left":"0.8895348839026164","top":"0.027874564982578343","text":"*","width":"0.008720930014534889","word_num":"0","line_num":"0"},{"block_num":"0","conf":"1","top":"0.06271777012826163","word_num":"0","left":"0.5029069814629333","width":"0.08284883296236079","level":"0","par_num":"0","line_num":"0","page_num":"0","height":"0.017421602252187585","text":"Al reports promotion pages #11998"},{"conf":"1","page_num":"0","par_num":"0","level":"0","text":"nikolay-yankov wants to merge 36 commits into master from JY-20372-ai-reports-promotion-pages","width":"0.21947674041098741","block_num":"0","height":"0.010475189872145352","line_num":"0","word_num":"0","top":"0.08362369354010668","left":"0.5029069820387471"},{"text":"ranoramakeportsrrono leatures gria nou","top":"0.10765550223535247","conf":"0.30000001192092896","level":"0","width":"0.08720929571922797","height":"0.007327075970420038","word_num":"0","block_num":"0","line_num":"0","page_num":"0","par_num":"0","left":"0.515988370209941"},{"text":"rixea — meala (modile 1 gria-temptate-cotumns: 1Tr y","block_num":"0","conf":"0.30000001192092896","left":"0.6206395320015682","top":"0.10446570957187562","height":"0.010516868633896892","page_num":"0","level":"0","par_num":"0","word_num":"0","width":"0.12936045261139562","line_num":"0"},{"line_num":"0","height":"0.003484320602538671","par_num":"0","word_num":"0","level":"0","page_num":"0","top":"0.1254355400369147","block_num":"0","text":"oseeis","left":"0.5130813947747878","width":"0.024709303328331433","conf":"0.30000001192092896"},{"par_num":"0","page_num":"0","width":"0.04069767099745736","conf":"1","text":"added at line 170","level":"0","top":"0.11483253561555695","left":"0.6206395381627619","word_num":"0","height":"0.017571645490290444","line_num":"0","block_num":"0"},{"block_num":"0","conf":"1","line_num":"0","page_num":"0","width":"0.1308139435788419","left":"0.6206395418231858","top":"0.14274322169059017","level":"0","text":"Fixed - both now say \"We will get in touch with you as soon","word_num":"0","height":"0.01754385964912275","par_num":"0"},{"level":"0","word_num":"0","line_num":"0","conf":"1","width":"0.08720929571922786","text":"Wording inconsistency (modal vs inline)","left":"0.5145348893682301","block_num":"0","page_num":"0","par_num":"0","height":"0.017621659395987477","top":"0.15311004759362778"},{"word_num":"0","level":"0","conf":"0.30000001192092896","top":"0.16724738673389183","par_num":"0","page_num":"0","text":"as possible.","left":"0.6206395362891324","block_num":"0","height":"0.006968641205077342","line_num":"0","width":"0.027616277654120225"},{"conf":"0.30000001192092896","word_num":"0","left":"0.514534888937681","top":"0.1951219515547178","height":"0.006968640444571461","text":"nrer compured calling can a second","block_num":"0","par_num":"0","line_num":"0","page_num":"0","level":"0","width":"0.08866277654120269"},{"text":"Fixed - canManageAiReports extracted as a shared","block_num":"0","conf":"1","par_num":"0","page_num":"0","height":"0.0175883172991933","word_num":"0","level":"0","left":"0.620639535042884","width":"0.11482558351881966","top":"0.18815330985786938","line_num":"0"},{"line_num":"0","page_num":"0","level":"0","block_num":"0","left":"0.6220930244397125","text":"computed","width":"0.023255812360885253","word_num":"0","height":"0.017421602252187474","top":"0.20557491298540453","conf":"1","par_num":"0"},{"top":"0.20557491302895847","conf":"1","line_num":"0","block_num":"0","width":"0.011627906180442626","text":"time","word_num":"0","left":"0.5145348842644298","level":"0","par_num":"0","height":"0.017421602252187585","page_num":"0"},{"left":"0.5159883762736059","par_num":"0","text":"trackInterest endpoint missing rate","top":"0.23344947777831704","width":"0.08284883296236079","page_num":"0","conf":"1","word_num":"0","level":"0","line_num":"0","height":"0.017746694160230114","block_num":"0"},{"text":"limitina","page_num":"0","height":"0.006968640444571461","block_num":"0","conf":"1","par_num":"0","word_num":"0","level":"0","line_num":"0","left":"0.5145348854641136","top":"0.25435540103206966","width":"0.015988370205493596"},{"word_num":"0","conf":"1","page_num":"0","text":"Still present (see below)","level":"0","width":"0.05523255530824056","top":"0.24003189772282119","height":"0.017807823619203744","left":"0.6206395358560387","par_num":"0","line_num":"0","block_num":"0"},{"text":"Remaining issues","par_num":"0","block_num":"0","top":"0.31339712947633447","word_num":"0","level":"0","line_num":"0","width":"0.049418601583927246","page_num":"0","conf":"1","height":"0.017613322731030334","left":"0.49854651467944094"},{"block_num":"0","width":"0.10319766592472168","height":"0.017596652443139016","word_num":"0","conf":"0.5","page_num":"0","text":". Extra DB query still fires on every page load","top":"0.34843205595226867","left":"0.500000004738088","level":"0","line_num":"0","par_num":"0"},{"level":"0","top":"0.3763066205923885","width":"0.24709301806510764","word_num":"0","par_num":"0","conf":"1","left":"0.4999999984771364","block_num":"0","text":"app/Http/Transformers/UserTransformer.php: 139 / app/Repositories/AutomatedReportsRepository.php:291-297","line_num":"0","page_num":"0","height":"0.017632773428252313"},{"width":"0.2194767201200445","top":"0.4178628388386477","height":"0.010708589112739642","line_num":"0","par_num":"0","level":"0","page_num":"0","conf":"1","block_num":"0","text":"'hasGeneratedAiReports' = Sthis->getAutomatedReportsRepositorv()->userReportsExist(Suser).","word_num":"0","left":"0.502907000810188"},{"top":"0.45993031375224214","word_num":"0","width":"0.24127905419532292","text":"The switch from count() > o to exists() is a good micro-optimisation - MySQL can short-circuit on the first","level":"0","block_num":"0","line_num":"0","height":"0.017741137904603743","page_num":"0","conf":"0.5","par_num":"0","left":"0.5000000072941873"},{"width":"0.25000000000000006","word_num":"0","level":"0","left":"0.49999999992732563","block_num":"0","height":"0.013937282410154683","par_num":"0","text":"natching row. But the query still executes on every UserTransformer: : transform() call, which happens on every 7","top":"0.4773519162821602","page_num":"0","line_num":"0","conf":"1"},{"conf":"1","page_num":"0","level":"0","block_num":"0","par_num":"0","text":"sers/current request (i.e. every page load). The applyUserAccessScope method uses whereJsonContains on two","line_num":"0","left":"0.5014534918272605","top":"0.4912280702286602","width":"0.24854649888708236","height":"0.020967051553193783","word_num":"0"},{"block_num":"0","text":"ISON columns ( recipients->users . arouos ) — these can't be indexed efficiently and will dearade as the","line_num":"0","level":"0","page_num":"0","left":"0.5000000058259358","height":"0.010686361048210191","conf":"1","par_num":"0","width":"0.22819764563377865","word_num":"0","top":"0.5119617223575448"},{"page_num":"0","conf":"1","text":"uaaested mitiaations (in order of effort):","par_num":"0","line_num":"0","height":"0.0073381900026847635","level":"0","width":"0.08720930586469933","top":"0.5606060607314207","left":"0.5014534853695082","word_num":"0","block_num":"0"},{"width":"0.17587209255137348","word_num":"0","page_num":"0","level":"0","height":"0.01754385964912286","left":"0.5014534869745092","line_num":"0","conf":"0.5","block_num":"0","par_num":"0","text":"• Request-level cache: wrap in once() (Laravel 11) or Cache: :store('array')-","top":"0.5853269537480064"},{"block_num":"0","page_num":"0","text":">remember (\"user_reports_exist_(Suser->getId()}\", ...) so it's computed at most once per request even if","height":"0.01762721565161396","level":"0","line_num":"0","conf":"0.5","par_num":"0","left":"0.5058139713227934","top":"0.6027874571526035","width":"0.23982555308240527","word_num":"0"},{"top":"0.6236044658250198","line_num":"0","block_num":"0","left":"0.5072674560382482","word_num":"0","conf":"1","level":"0","par_num":"0","width":"0.12354649888708236","height":"0.010541874826239583","page_num":"0","text":"transform() is called multiple times in a single response"},{"left":"0.5000000099048465","block_num":"0","page_num":"0","par_num":"0","width":"0.2558139435788418","level":"0","conf":"1","height":"0.017421602252187474","text":"• Denormalised boolean: add a has_generated_ai_reports columnto users, set/cleared by the report generation/","top":"0.6376306621143244","word_num":"0","line_num":"0"},{"text":"deletion pipeline — eliminates the querv entirelv.","block_num":"0","conf":"1","left":"0.5058139514828719","level":"0","line_num":"0","height":"0.0071770334928229484","page_num":"0","par_num":"0","top":"0.6618819776714514","word_num":"0","width":"0.10465116703763921"},{"text":"Fix this →","top":"0.6864111496195452","width":"0.021802323929806966","word_num":"0","line_num":"0","level":"0","conf":"0.5","height":"0.013937282410154683","par_num":"0","left":"0.5000000014415185","page_num":"0","block_num":"0"},{"par_num":"0","word_num":"0","page_num":"0","height":"0.017807823619203744","block_num":"0","left":"0.5014534903874139","line_num":"0","top":"0.742160278657975","text":".trackInterest endpoint has no rate limit or idempotency guard","conf":"1","level":"0","width":"0.15261627765412034"},{"word_num":"0","page_num":"0","height":"0.015257932732930413","level":"0","left":"0.4999683815815489","conf":"1","top":"0.7722896038389206","width":"0.2282482918272627","text":"app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php:40-53 / routes/","line_num":"0","par_num":"0","block_num":"0"},{"page_num":"0","conf":"0.5","par_num":"0","level":"0","line_num":"0","word_num":"0","text":"pi.php:282","left":"0.4999999995712994","block_num":"0","height":"0.006968641205077342","top":"0.7944250870834626","width":"0.02470930332833149"},{"page_num":"0","line_num":"0","level":"0","par_num":"0","height":"0.021122649525911585","top":"0.8325358852423792","block_num":"0","word_num":"0","conf":"0.5","left":"0.5029069986857431","width":"0.14680230363886415","text":"public function trackInterest(Request srequest): JsonResponse"},{"block_num":"0","line_num":"0","page_num":"0","height":"0.0071770334928229484","conf":"0.5","par_num":"0","left":"0.5116279148651706","level":"0","top":"0.8604465709728868","text":"defer(fn @ => Sthis->olanhatService->track(...'automated-reoorts-track-interest'...))->alwavs©:","width":"0.23255810839064572","word_num":"0"},{"level":"0","height":"0.010647460414272003","conf":"1","top":"0.9266347687970263","page_num":"0","line_num":"0","par_num":"0","word_num":"0","block_num":"0","left":"0.500000019045948","text":"The frontend prevents repeated clicks via STATUS.DONE . but that state is lost on page refresh — a user can POST to /","width":"0.25290696164394944"},{"conf":"1","par_num":"0","text":"pi/v1/automated-reports/interest again and fire another Planhat event. Over time this could produce duplicate","level":"0","page_num":"0","height":"0.021842351180324515","line_num":"0","left":"0.4999760266255957","top":"0.9385561758665191","word_num":"0","block_num":"0","width":"0.2442339836282933"},{"line_num":"0","level":"0","height":"0.017421602252187474","top":"0.958188153403523","block_num":"0","left":"0.5000000013824143","word_num":"0","conf":"1","text":"racking noise in analytics.","width":"0.05668604627568663","page_num":"0","par_num":"0"}]...
|
Slack
|
AppleNative
|
Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
4029
|
NULL
|
NULL
|
|
89234
|
iTerm2ShellEdit ViewSessionScripts|ProfilesWindowH iTerm2ShellEdit ViewSessionScripts|ProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:59:33181ec2-user@ip-10-30-95-134:...• *666++++23 +-20+-4+-7 +1 +24+-105 +1701816+-62-9429422133+++APP++++++++....
|
[{"top":"0.006976744645528443", [{"top":"0.006976744645528443","height":"0.013953487608167836","page_num":"0","line_num":"0","block_num":"0","word_num":"0","width":"0.03633720874786377","par_num":"0","text":"iTerm2","conf":"1","level":"0","left":"0.033430232229750306"},{"conf":"0.5","block_num":"0","word_num":"0","height":"0.013953487608167836","page_num":"0","level":"0","width":"0.03343023194207086","line_num":"0","top":"0.006976744412970359","par_num":"0","text":"Shell","left":"0.08284883807450719"},{"conf":"0.5","width":"0.053779066933525924","height":"0.016666666666666607","top":"0.004444444444444473","word_num":"0","block_num":"0","par_num":"0","text":"Edit View","left":"0.11627907109228551","page_num":"0","level":"0","line_num":"0"},{"par_num":"0","line_num":"0","conf":"1","left":"0.18168604790258086","block_num":"0","word_num":"0","level":"0","top":"0.0069767444517300214","width":"0.034883719020419646","page_num":"0","height":"0.013953487608167836","text":"Session"},{"conf":"0.5","left":"0.2296406737588108","level":"0","page_num":"0","line_num":"0","block_num":"0","height":"0.014077084859212219","width":"0.031997723049587645","par_num":"0","word_num":"0","text":"Scripts|","top":"0.006914945827753649"},{"par_num":"0","top":"0.006853316216056116","conf":"1","left":"0.27323585639556563","level":"0","word_num":"0","height":"0.014200344085693373","block_num":"0","text":"Profiles","width":"0.033470148510403086","line_num":"0","page_num":"0"},{"level":"0","conf":"1","line_num":"0","height":"0.013953487608167836","left":"0.31831395315998284","page_num":"0","text":"Window","width":"0.03633720874786378","top":"0.006976744645528443","block_num":"0","word_num":"0","par_num":"0"},{"height":"0.013953487608167836","left":"0.36773255878967304","par_num":"0","width":"0.02034883631600276","level":"0","top":"0.006976744474985863","conf":"1","block_num":"0","page_num":"0","line_num":"0","word_num":"0","text":"Help"},{"block_num":"0","page_num":"0","top":"0.03666666662527551","level":"0","word_num":"0","text":"APP (-zsh)","par_num":"0","height":"0.014496124055650483","line_num":"0","conf":"1","left":"0.47529069803997187","width":"0.049418603049384224"},{"height":"0.013953487608167947","conf":"1","word_num":"0","page_num":"0","line_num":"0","level":"0","par_num":"0","left":"0.050872094365759145","block_num":"0","text":"DOCKER","width":"0.03488371902041965","top":"0.06511627921917185"},{"page_num":"0","level":"0","width":"0.010174418158001353","block_num":"0","height":"0.011627906163533597","par_num":"0","conf":"0.30000001192092896","line_num":"0","top":"0.06744186101707039","text":"881","left":"0.14680232582288885","word_num":"0"},{"left":"0.2107558135640147","word_num":"0","page_num":"0","block_num":"0","height":"0.011627906163533597","top":"0.0674418609589309","par_num":"0","width":"0.05087209277682833","level":"0","line_num":"0","text":"DEV (docker)","conf":"1"},{"word_num":"0","left":"0.30813953472970373","width":"0.014534884028964579","text":"₴82","line_num":"0","conf":"0.30000001192092896","level":"0","block_num":"0","page_num":"0","height":"0.011627907223171752","par_num":"0","top":"0.06744186045818157"},{"line_num":"0","level":"0","width":"0.040697672632005466","word_num":"0","conf":"0.5","text":"APP (-zsh)","top":"0.0674418609589309","left":"0.3793604658741403","par_num":"0","page_num":"0","block_num":"0","height":"0.011627906163533597"},{"conf":"0.30000001192092896","width":"0.013081394301520444","left":"0.47238372128431727","height":"0.013953487608167947","par_num":"0","text":"83","word_num":"0","level":"0","top":"0.06511627921917185","block_num":"0","line_num":"0","page_num":"0"},{"level":"0","page_num":"0","top":"0.0648826047097042","width":"0.048017358779907204","left":"0.5348576004786272","word_num":"0","height":"0.014420836766560807","line_num":"0","par_num":"0","conf":"1","text":"screenpipe\"","block_num":"0"},{"top":"0.09069767473716484","height":"0.016279069052802186","text":"front-end/src/components/AiReports/Manage/__tests_","word_num":"0","conf":"1","line_num":"0","level":"0","par_num":"0","block_num":"0","left":"0.008720942522972407","page_num":"0","width":"0.2790697521633572"},{"text":"_/ManageAiReports.spec.js","page_num":"0","level":"0","par_num":"0","width":"0.14098837110731333","block_num":"0","line_num":"0","word_num":"0","height":"0.01860465155707458","top":"0.0906976745315402","conf":"1","left":"0.2863372117089401"},{"block_num":"0","height":"0.016279069052802186","par_num":"0","top":"0.1093023258515059","word_num":"0","page_num":"0","left":"0.00872094763883828","level":"0","width":"0.44622090657552077","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","line_num":"0","conf":"1"},{"conf":"1","level":"0","par_num":"0","page_num":"0","top":"0.13023255838057568","word_num":"0","line_num":"0","left":"0.008720945815069964","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","width":"0.5232557932535807","block_num":"0","height":"0.016279069052802186"},{"conf":"1","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","top":"0.1488372093377417","line_num":"0","par_num":"0","left":"0.00872092909910249","page_num":"0","width":"0.6002906799316406","word_num":"0","level":"0","block_num":"0","height":"0.018604651557074692"},{"top":"0.16976744197340066","level":"0","line_num":"0","height":"0.018604651557074692","page_num":"0","text":"front-end/src/components/AiReports/constants.js","width":"0.26308138105604384","left":"0.008720941327598099","word_num":"0","conf":"1","block_num":"0","par_num":"0"},{"conf":"1","level":"0","word_num":"0","line_num":"0","block_num":"0","par_num":"0","top":"0.18837209251603637","page_num":"0","height":"0.01860465155707458","left":"0.008720944627202777","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","width":"0.4127906799316406"},{"line_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue","left":"0.008720936305477206","par_num":"0","top":"0.20930232526797432","word_num":"0","block_num":"0","level":"0","page_num":"0","conf":"1","width":"0.4069767422146267","height":"0.01860465155707458"},{"level":"0","height":"0.016279069052802186","line_num":"0","par_num":"0","word_num":"0","block_num":"0","page_num":"0","text":"front-end/src/components/Settings/shared/FormElements/Field.less","top":"0.2302325584096454","conf":"1","width":"0.35755814446343315","left":"0.00872093223776006"},{"height":"0.018604651557074692","page_num":"0","par_num":"0","left":"0.008720934875787774","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","line_num":"0","level":"0","top":"0.2488372089889045","conf":"1","block_num":"0","width":"0.35174418555365666","word_num":"0"},{"par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","word_num":"0","conf":"1","top":"0.26976744154704413","width":"0.4854651133219401","block_num":"0","left":"0.008720937779436768","level":"0","line_num":"0","height":"0.01860465155707458","page_num":"0"},{"left":"0.008720939940422036","word_num":"0","conf":"1","page_num":"0","level":"0","block_num":"0","height":"0.016279069052802075","line_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","par_num":"0","top":"0.29069767465964547","width":"0.3793604532877604"},{"top":"0.3093023252679743","level":"0","block_num":"0","par_num":"0","page_num":"0","left":"0.008720948847176679","width":"0.3851743910047743","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","height":"0.01860465155707458","word_num":"0","line_num":"0","conf":"1"},{"word_num":"0","conf":"1","width":"0.27180230882432727","block_num":"0","left":"0.01017442358565618","height":"0.011627906163533597","level":"0","page_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/","line_num":"0","top":"0.3325581400286983"},{"word_num":"0","left":"0.2805232549080388","page_num":"0","text":"__mocks__/nudges.js","line_num":"0","height":"0.013953487608167836","width":"0.1061046494377984","level":"0","block_num":"0","conf":"0.5","par_num":"0","top":"0.3325581400718851"},{"left":"0.008720944988524652","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","width":"0.4622092776828342","page_num":"0","level":"0","word_num":"0","top":"0.3488372088726255","line_num":"0","block_num":"0","height":"0.01860465155707458","par_num":"0"},{"left":"0.008720943423469624","level":"0","block_num":"0","conf":"1","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","top":"0.3697674416633232","page_num":"0","line_num":"0","par_num":"0","word_num":"0","width":"0.3183139377170139","height":"0.01860465155707458"},{"par_num":"0","block_num":"0","width":"0.31540696885850694","text":"front-end/src/components/shared/SavedSearchModal/__tests_","left":"0.008720939432180469","word_num":"0","top":"0.3883720938223495","level":"0","height":"0.020930230882432732","page_num":"0","conf":"1","line_num":"0"},{"height":"0.018604651557074692","text":"/__snapshots__/saved-search-modal-edit.output.html","block_num":"0","level":"0","left":"0.32994186531367026","page_num":"0","par_num":"0","conf":"1","word_num":"0","line_num":"0","width":"0.2790697521633572","top":"0.36976744175634635"},{"left":"0.329941858342544","par_num":"0","text":"/__snapshots__/saved-search-modal.output.html","line_num":"0","level":"0","height":"0.01860465155707458","word_num":"0","conf":"1","page_num":"0","block_num":"0","top":"0.3883720925160363","width":"0.25145348442925347"},{"block_num":"0","height":"0.018604651557074692","line_num":"0","page_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js","top":"0.4093023252679743","par_num":"0","width":"0.32412789662679037","left":"0.008720939459133782","conf":"1","level":"0","word_num":"0"},{"page_num":"0","left":"0.008720945245547382","height":"0.016279069052802075","par_num":"0","block_num":"0","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","top":"0.4302325583805757","level":"0","line_num":"0","width":"0.36773253546820744","word_num":"0","conf":"1"},{"conf":"1","page_num":"0","par_num":"0","width":"0.4854651133219401","word_num":"0","line_num":"0","top":"0.4488372090276642","level":"0","height":"0.01860465155707458","block_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","left":"0.008720939802207934"},{"top":"0.4697674423340641","conf":"1","par_num":"0","block_num":"0","height":"0.016279069052802075","width":"0.49709298875596786","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","page_num":"0","left":"0.007267450825504717","level":"0","line_num":"0","word_num":"0"},{"text":"tests/Feature/NudgeProcessingFeatureTest.php","par_num":"0","word_num":"0","width":"0.245639525519477","conf":"1","left":"0.008720936961676194","level":"0","height":"0.016279069052802186","line_num":"0","page_num":"0","top":"0.49069767467902525","block_num":"0"},{"left":"0.008720940809666643","top":"0.509302325306734","page_num":"0","word_num":"0","height":"0.01860465155707458","block_num":"0","conf":"1","line_num":"0","width":"0.3241278966267904","par_num":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","level":"0"},{"word_num":"0","line_num":"0","block_num":"0","left":"0.008720944263830709","level":"0","page_num":"0","par_num":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","width":"0.4127906799316406","top":"0.5302325584096454","height":"0.016279069052802186","conf":"1"},{"block_num":"0","width":"0.3808139377170139","conf":"1","line_num":"0","par_num":"0","page_num":"0","left":"0.007267443399245208","height":"0.018604651557074692","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","word_num":"0","top":"0.548837209182703","level":"0"},{"level":"0","height":"0.018604651557074692","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","line_num":"0","par_num":"0","left":"0.00872094066747218","width":"0.26308138105604384","word_num":"0","top":"0.5697674415470441","conf":"1","page_num":"0","block_num":"0"},{"left":"0.008720935081112163","level":"0","page_num":"0","block_num":"0","height":"0.016279069052802297","par_num":"0","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","conf":"1","line_num":"0","top":"0.5906976748922036","width":"0.2790697521633572","word_num":"0"},{"top":"0.6093023252912301","height":"0.018604651557074692","line_num":"0","page_num":"0","left":"0.008720935288035392","conf":"1","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","width":"0.40697674221462665","block_num":"0","level":"0","word_num":"0","par_num":"0"},{"conf":"1","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","width":"0.3735465155707466","word_num":"0","line_num":"0","level":"0","top":"0.630232558174951","height":"0.018604651557074692","left":"0.008720932494423177","par_num":"0","page_num":"0","block_num":"0"},{"conf":"1","line_num":"0","width":"0.3575581444634332","word_num":"0","par_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","level":"0","left":"0.008720933727585568","page_num":"0","block_num":"0","height":"0.01860465155707458","top":"0.6488372090276643"},{"conf":"1","level":"0","line_num":"0","word_num":"0","page_num":"0","left":"0.008720930055878897","height":"0.023669251335991737","top":"0.6674418601201179","width":"0.30668604109022357","block_num":"0","par_num":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)"},{"word_num":"0","conf":"0.30000001192092896","height":"0.053333333333333344","left":"0.30000000013888894","top":"0.64","page_num":"0","block_num":"0","level":"0","par_num":"0","text":"rtarest. php","width":"0.06666666666666665","line_num":"0"},{"par_num":"0","left":"0.008720943324406762","width":"0.45784882439507385","height":"0.016279069052802186","line_num":"0","page_num":"0","top":"0.6906976746596454","level":"0","block_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","word_num":"0","conf":"1"},{"top":"0.7088888885350363","width":"0.43459303114149306","word_num":"0","page_num":"0","left":"0.008720919944754178","height":"0.019018088446723147","par_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","level":"0","line_num":"0","block_num":"0","conf":"1"},{"line_num":"0","word_num":"0","level":"0","par_num":"0","block_num":"0","conf":"0.30000001192092896","height":"0.046666666666666634","left":"0.3208333309027779","page_num":"0","text":"fonitrn/esComedad.ron,.php","width":"0.14583333333333337","top":"0.6866666667777778"},{"text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","line_num":"0","level":"0","height":"0.01666666666666672","page_num":"0","conf":"1","par_num":"0","left":"0.008720931874829398","block_num":"0","top":"0.73","width":"0.4186046600341797","word_num":"0"},{"text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","width":"0.5188953399658203","block_num":"0","line_num":"0","conf":"1","height":"0.0189405674404568","left":"0.008720944031500208","level":"0","par_num":"0","top":"0.7488372099361025","word_num":"0","page_num":"0"},{"word_num":"0","top":"0.769767441714528","line_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","page_num":"0","block_num":"0","left":"0.00872094292957427","level":"0","par_num":"0","height":"0.01912144766913515","width":"0.556686019897461","conf":"1"},{"block_num":"0","height":"0.018604651557074692","width":"0.5232557932535807","page_num":"0","left":"0.008720950932465657","level":"0","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","top":"0.7883720927330905","word_num":"0","line_num":"0","conf":"1"},{"conf":"1","level":"0","block_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","left":"0.008720932168461499","par_num":"0","height":"0.019018088446723147","width":"0.5130814022488065","word_num":"0","line_num":"0","top":"0.8088888884187573","page_num":"0"},{"line_num":"0","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","page_num":"0","top":"0.83","word_num":"0","level":"0","conf":"1","block_num":"0","par_num":"0","left":"0.00872093066119501","width":"0.5901162889268663","height":"0.018888888888888955"},{"height":"0.0189405674404568","block_num":"0","top":"0.8488372098663348","width":"0.5901162889268663","word_num":"0","line_num":"0","level":"0","par_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","page_num":"0","left":"0.00872093066119501","conf":"1"},{"width":"0.6017441643608942","level":"0","page_num":"0","block_num":"0","word_num":"0","left":"0.00872095191817562","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","conf":"1","line_num":"0","height":"0.016279069052802186","par_num":"0","top":"0.8697674421015059"},{"conf":"1","block_num":"0","top":"0.8906976746596453","line_num":"0","par_num":"0","page_num":"0","height":"0.016279069052802186","word_num":"0","width":"0.5188953399658204","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","left":"0.008720941480167237","level":"0"},{"level":"0","height":"0.019018088446723036","line_num":"0","block_num":"0","par_num":"0","top":"0.9088888883993775","conf":"1","width":"0.5130813598632812","word_num":"0","left":"0.008720965718114076","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","page_num":"0"},{"block_num":"0","top":"0.93","left":"0.008720959803854693","height":"0.016666666666666607","page_num":"0","line_num":"0","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","par_num":"0","width":"0.4796511332194011","conf":"1","level":"0","word_num":"0"},{"par_num":"0","top":"0.9488372099361024","level":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","conf":"1","height":"0.0189405674404568","word_num":"0","width":"0.4636627621120876","line_num":"0","page_num":"0","block_num":"0","left":"0.008720958818144888"},{"left":"0.004360485232488721","height":"0.02144702911376961","line_num":"0","block_num":"0","par_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","word_num":"0","width":"0.5348837110731336","page_num":"0","level":"0","conf":"1","top":"0.9674418601201177"},{"conf":"0.30000001192092896","top":"0.06511627927731145","left":"0.6250000001737047","page_num":"0","height":"0.013953487608167836","line_num":"0","par_num":"0","text":"O 84","width":"0.024709301524692084","block_num":"0","level":"0","word_num":"0"},{"block_num":"0","page_num":"0","height":"0.011627906163533597","level":"0","par_num":"0","width":"0.017441859510209823","left":"0.7194767443728021","conf":"0.5","text":"-zsh","top":"0.06744186098800065","word_num":"0","line_num":"0"},{"text":"885","top":"0.0674418609589309","page_num":"0","block_num":"0","width":"0.01453488270441694","line_num":"0","par_num":"0","conf":"0.30000001192092896","height":"0.011627906163533597","word_num":"0","left":"0.7994186049777334","level":"0"},{"width":"0.04218044016096334","level":"0","conf":"0.30000001192092896","block_num":"0","page_num":"0","par_num":"0","text":"100% <7","left":"0.8168458269716159","top":"0.0068626474102171375","word_num":"0","line_num":"0","height":"0.014181681738959395"},{"left":"0.8909883701829538","conf":"1","level":"0","width":"0.09738372166951492","par_num":"0","block_num":"0","page_num":"0","height":"0.014444444444444371","text":"Mon 27 Apr 18:59:33","line_num":"0","top":"0.00666666666666671","word_num":"0"},{"text":"181","level":"0","width":"0.020348836316002705","par_num":"0","word_num":"0","line_num":"0","page_num":"0","top":"0.034883721195916095","height":"0.013953487608167836","block_num":"0","left":"0.9723837216312426","conf":"0.30000001192092896"},{"left":"0.8372093056452314","line_num":"0","height":"0.011627906163533597","par_num":"0","text":"ec2-user@ip-10-30-95-134:...","page_num":"0","level":"0","word_num":"0","width":"0.11046511332194009","block_num":"0","top":"0.06744186083296189","conf":"1"},{"par_num":"0","text":"• *6","line_num":"0","page_num":"0","width":"0.024709301524692084","word_num":"0","height":"0.013953487608167836","left":"0.9534883728481232","conf":"0.30000001192092896","top":"0.06511627933545094","level":"0","block_num":"0"},{"par_num":"0","text":"66","width":"0.01453488270441694","conf":"1","top":"0.09069767487808655","word_num":"0","page_num":"0","left":"0.651162790963683","line_num":"0","block_num":"0","height":"0.013953487608167947","level":"0"},{"page_num":"0","line_num":"0","left":"0.668604651975057","block_num":"0","level":"0","text":"++++","top":"0.09302325610427975","width":"0.024709301524692084","par_num":"0","conf":"1","word_num":"0","height":"0.011627906163533486"},{"par_num":"0","left":"0.6511627914915763","block_num":"0","level":"0","top":"0.1088888889538393","line_num":"0","page_num":"0","text":"23 +-","height":"0.01669250594245064","width":"0.03052325513627796","conf":"1","word_num":"0"},{"line_num":"0","word_num":"0","top":"0.130232558334064","par_num":"0","page_num":"0","left":"0.6511627904273781","height":"0.016279069052802186","width":"0.014534884028964634","conf":"1","level":"0","text":"20","block_num":"0"},{"height":"0.011627906163533486","left":"0.6686046519044723","level":"0","conf":"0.5","block_num":"0","line_num":"0","page_num":"0","text":"+-","width":"0.013081394301520444","top":"0.13255813982521003","word_num":"0","par_num":"0"},{"conf":"1","width":"0.007267441618217019","block_num":"0","line_num":"0","par_num":"0","level":"0","height":"0.013953487906976814","left":"0.658430232751938","text":"4","top":"0.15116279116279063","page_num":"0","word_num":"0"},{"text":"+-","word_num":"0","par_num":"0","level":"0","line_num":"0","page_num":"0","conf":"0.30000001192092896","left":"0.6686046510880266","block_num":"0","top":"0.15348837269342708","height":"0.011627906163533486","width":"0.01162790722317164"},{"text":"7 +","par_num":"0","level":"0","top":"0.16976744216490824","height":"0.013953487608167947","width":"0.01889534791310632","conf":"0.30000001192092896","line_num":"0","left":"0.6584302333351134","page_num":"0","block_num":"0","word_num":"0"},{"level":"0","text":"1 +","top":"0.19069767472304788","width":"0.01889534791310632","page_num":"0","block_num":"0","conf":"0.5","left":"0.6584302333351134","par_num":"0","height":"0.013953487608167836","word_num":"0","line_num":"0"},{"par_num":"0","width":"0.015988371107313437","level":"0","block_num":"0","word_num":"0","page_num":"0","line_num":"0","text":"24","conf":"1","height":"0.016279069052802186","left":"0.6511627914570022","top":"0.20930232582243613"},{"par_num":"0","width":"0.010174418158001464","height":"0.009302325778537401","level":"0","page_num":"0","conf":"0.5","block_num":"0","left":"0.6700581396855341","top":"0.21395348820707683","line_num":"0","text":"+-","word_num":"0"},{"block_num":"0","left":"0.6511627910242451","text":"10","width":"0.01453488270441694","line_num":"0","conf":"1","height":"0.013953487608167947","par_num":"0","top":"0.23023255863777647","page_num":"0","level":"0","word_num":"0"},{"width":"0.01889534791310632","height":"0.01671834627787272","text":"5 +","block_num":"0","word_num":"0","page_num":"0","left":"0.6584302327537183","top":"0.2488372092900042","line_num":"0","conf":"0.5","par_num":"0","level":"0"},{"level":"0","block_num":"0","page_num":"0","height":"0.013953487608167836","left":"0.646802325807255","line_num":"0","par_num":"0","top":"0.26976744235870675","conf":"1","width":"0.01889534791310621","word_num":"0","text":"170"},{"height":"0.013953487608167836","block_num":"0","level":"0","width":"0.01453488270441694","line_num":"0","word_num":"0","page_num":"0","par_num":"0","left":"0.651162790963683","top":"0.2906976748780866","conf":"1","text":"18"},{"text":"16","level":"0","height":"0.016279069052802297","conf":"1","block_num":"0","top":"0.30930232621003295","page_num":"0","left":"0.651162791205931","par_num":"0","width":"0.01453488270441694","word_num":"0","line_num":"0"},{"line_num":"0","conf":"0.30000001192092896","height":"0.011627906163533486","level":"0","page_num":"0","top":"0.31395348897249686","par_num":"0","word_num":"0","block_num":"0","left":"0.6686046517106738","width":"0.013081394301520444","text":"+-"},{"width":"0.017441859510209934","height":"0.01860465155707458","text":"62","left":"0.6482558143219299","block_num":"0","conf":"1","level":"0","line_num":"0","word_num":"0","par_num":"0","page_num":"0","top":"0.3488372088726255"},{"left":"0.6366279070251938","page_num":"0","conf":"1","top":"0.36976744186046506","block_num":"0","height":"0.013953487906976814","text":"-","width":"0.008720929941860467","par_num":"0","word_num":"0","level":"0","line_num":"0"},{"level":"0","block_num":"0","word_num":"0","left":"0.646802325807255","par_num":"0","top":"0.36976744235870673","conf":"1","text":"942","width":"0.01889534791310621","page_num":"0","height":"0.013953487608167836","line_num":"0"},{"page_num":"0","word_num":"0","line_num":"0","conf":"1","left":"0.646802325807255","width":"0.01889534791310621","top":"0.39069767491684626","par_num":"0","block_num":"0","height":"0.013953487608167947","level":"0","text":"942"},{"height":"0.016279069052802186","left":"0.6511627910605823","level":"0","par_num":"0","block_num":"0","word_num":"0","page_num":"0","text":"21","conf":"1","top":"0.4093023256673973","line_num":"0","width":"0.01453488270441694"},{"top":"0.43023255805747485","level":"0","left":"0.6511627906082568","height":"0.016279070112440452","line_num":"0","width":"0.014534884028964523","par_num":"0","word_num":"0","conf":"1","text":"33","page_num":"0","block_num":"0"},{"block_num":"0","level":"0","line_num":"0","par_num":"0","height":"0.011627906163533486","word_num":"0","width":"0.017441859510209823","top":"0.3534883723833495","left":"0.6700581403030346","text":"+++","conf":"1","page_num":"0"},{"page_num":"0","block_num":"0","par_num":"0","conf":"0.30000001192092896","level":"0","text":"APP","height":"0.08372093200683584","left":"0.8517441850662857","line_num":"0","top":"0.14651162688694752","width":"0.1395348866780598","word_num":"0"},{"word_num":"0","width":"0.011627911196814611","text":"++++","height":"0.0813953484429254","line_num":"0","par_num":"0","level":"0","left":"0.6686046489364764","conf":"0.30000001192092896","page_num":"0","top":"0.4511627900808629","block_num":"0"},{"block_num":"0","par_num":"0","level":"0","word_num":"0","conf":"1","page_num":"0","height":"0.013953488667805991","width":"0.011627907223171752","text":"++","left":"0.6700581393147707","line_num":"0","top":"0.5325581392707482"},{"text":"++.","line_num":"0","top":"0.6116279067372514","page_num":"0","height":"0.01162790722317164","word_num":"0","par_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.6700581393235938","level":"0","width":"0.013081395626068137"}]...
|
Slack
|
AppleNative
|
Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3841
|
NULL
|
NULL
|
|
89235
|
iTerm2ShellEdit ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:59:36181ec2-user@ip-10-30-95-134:...• *666++++23 +-20+-4+-7 +1 +24+-105 +1701816+-62-9429422133+++APP++++++++....
|
[{"line_num":"0","level":& [{"line_num":"0","level":"0","conf":"1","text":"iTerm2","top":"0.006976744645528443","page_num":"0","block_num":"0","par_num":"0","width":"0.03633720874786377","word_num":"0","height":"0.013953487608167836","left":"0.033430232229750306"},{"width":"0.031976742214626735","text":"Shell","word_num":"0","conf":"1","block_num":"0","left":"0.08284883872795794","level":"0","line_num":"0","height":"0.013953487608167836","page_num":"0","par_num":"0","top":"0.006976744412970359"},{"left":"0.11617569194630452","top":"0.0037259641357089146","conf":"0.5","block_num":"0","text":"Edit View","word_num":"0","height":"0.018129467434353397","width":"0.053985823525322815","par_num":"0","page_num":"0","line_num":"0","level":"0"},{"level":"0","block_num":"0","width":"0.034883719020419646","left":"0.18168604790258086","word_num":"0","top":"0.0069767444517300214","par_num":"0","height":"0.013953487608167836","text":"Session","page_num":"0","conf":"1","line_num":"0"},{"text":"Scripts","page_num":"0","top":"0.006914945827753649","word_num":"0","left":"0.2296406737588108","conf":"0.5","width":"0.031997723049587645","line_num":"0","block_num":"0","par_num":"0","level":"0","height":"0.014077084859212219"},{"text":"Profiles","line_num":"0","page_num":"0","level":"0","word_num":"0","block_num":"0","left":"0.27323585639556563","par_num":"0","width":"0.033470148510403086","height":"0.014200344085693373","top":"0.006853316216056116","conf":"1"},{"left":"0.31831395315998284","page_num":"0","level":"0","par_num":"0","text":"Window","block_num":"0","conf":"1","height":"0.013953487608167836","top":"0.006976744645528443","width":"0.03633720874786378","word_num":"0","line_num":"0"},{"block_num":"0","word_num":"0","page_num":"0","par_num":"0","text":"Help","level":"0","top":"0.006976744474985863","height":"0.013953487608167836","line_num":"0","left":"0.36773255878967304","width":"0.02034883631600276","conf":"1"},{"level":"0","line_num":"0","block_num":"0","height":"0.014496124055650483","par_num":"0","left":"0.47529069803997187","top":"0.03666666662527551","conf":"1","page_num":"0","word_num":"0","width":"0.049418603049384224","text":"APP (-zsh)"},{"block_num":"0","conf":"1","text":"DOCKER","word_num":"0","line_num":"0","top":"0.06511627921917185","level":"0","page_num":"0","width":"0.03488371902041965","height":"0.013953487608167947","par_num":"0","left":"0.050872094365759145"},{"page_num":"0","left":"0.14680232582288885","top":"0.06744186101707039","par_num":"0","text":"881","block_num":"0","conf":"0.30000001192092896","line_num":"0","width":"0.010174418158001353","height":"0.011627906163533597","word_num":"0","level":"0"},{"level":"0","par_num":"0","width":"0.05087209277682833","word_num":"0","text":"DEV (docker)","top":"0.0674418609589309","conf":"1","left":"0.2107558135640147","height":"0.011627906163533597","block_num":"0","page_num":"0","line_num":"0"},{"height":"0.011627907223171752","block_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.30813953472970373","text":"₴82","top":"0.06744186045818157","width":"0.014534884028964579","par_num":"0","level":"0","line_num":"0","word_num":"0"},{"height":"0.011627906163533597","line_num":"0","block_num":"0","level":"0","page_num":"0","text":"APP (-zsh)","top":"0.0674418609589309","par_num":"0","conf":"0.5","left":"0.3793604658741403","width":"0.040697672632005466","word_num":"0"},{"line_num":"0","conf":"0.30000001192092896","level":"0","page_num":"0","text":"83","block_num":"0","par_num":"0","top":"0.06511627921917185","width":"0.013081394301520444","height":"0.013953487608167947","word_num":"0","left":"0.47238372128431727"},{"height":"0.014420836766560807","par_num":"0","top":"0.0648826047097042","level":"0","line_num":"0","left":"0.5348576004786272","word_num":"0","text":"screenpipe\"","width":"0.048017358779907204","conf":"1","page_num":"0","block_num":"0"},{"height":"0.016279069052802186","line_num":"0","block_num":"0","page_num":"0","par_num":"0","width":"0.2790697521633572","text":"front-end/src/components/AiReports/Manage/__tests_","level":"0","left":"0.008720942522972407","word_num":"0","conf":"1","top":"0.09069767473716484"},{"left":"0.2863372117089401","level":"0","width":"0.14098837110731333","conf":"1","word_num":"0","block_num":"0","text":"_/ManageAiReports.spec.js","top":"0.0906976745315402","par_num":"0","height":"0.01860465155707458","line_num":"0","page_num":"0"},{"word_num":"0","conf":"1","height":"0.016279069052802186","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","par_num":"0","width":"0.44622090657552077","top":"0.1093023258515059","block_num":"0","level":"0","line_num":"0","page_num":"0","left":"0.00872094763883828"},{"width":"0.5232557932535807","height":"0.016279069052802186","level":"0","line_num":"0","conf":"1","block_num":"0","par_num":"0","page_num":"0","left":"0.008720945815069964","top":"0.13023255838057568","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","word_num":"0"},{"word_num":"0","level":"0","top":"0.1488372093377417","left":"0.00872092909910249","page_num":"0","conf":"1","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html","line_num":"0","height":"0.018604651557074692","par_num":"0","block_num":"0","width":"0.6002906799316406"},{"conf":"1","block_num":"0","left":"0.008720941327598099","page_num":"0","width":"0.26308138105604384","par_num":"0","level":"0","top":"0.16976744197340066","height":"0.018604651557074692","line_num":"0","word_num":"0","text":"front-end/src/components/AiReports/constants.js"},{"line_num":"0","width":"0.4127906799316406","word_num":"0","conf":"1","page_num":"0","height":"0.01860465155707458","left":"0.008720944627202777","level":"0","par_num":"0","top":"0.18837209251603637","block_num":"0","text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue"},{"level":"0","page_num":"0","left":"0.008720936305477206","line_num":"0","par_num":"0","top":"0.20930232526797432","width":"0.4069767422146267","word_num":"0","block_num":"0","conf":"1","height":"0.01860465155707458","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue"},{"block_num":"0","top":"0.2302325584096454","level":"0","height":"0.016279069052802186","line_num":"0","left":"0.00872093223776006","par_num":"0","conf":"1","text":"front-end/src/components/Settings/shared/FormElements/Field.less","width":"0.35755814446343315","word_num":"0","page_num":"0"},{"word_num":"0","height":"0.018604651557074692","page_num":"0","par_num":"0","left":"0.008720934875787774","line_num":"0","width":"0.35174418555365666","level":"0","block_num":"0","conf":"1","text":"front-end/src/components/Settings/shared/FormElements/Field.vue","top":"0.2488372089889045"},{"block_num":"0","top":"0.26976744154704413","word_num":"0","conf":"1","page_num":"0","height":"0.01860465155707458","line_num":"0","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","width":"0.4854651133219401","level":"0","left":"0.008720937779436768"},{"left":"0.008720939940422036","top":"0.29069767465964547","page_num":"0","width":"0.3793604532877604","word_num":"0","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","par_num":"0","conf":"1","height":"0.016279069052802075","block_num":"0","line_num":"0","level":"0"},{"text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","width":"0.3851743910047743","left":"0.008720948847176679","block_num":"0","par_num":"0","top":"0.3093023252679743","word_num":"0","level":"0","line_num":"0","page_num":"0","conf":"1","height":"0.01860465155707458"},{"text":"front-end/src/components/shared/SavedSearchModal/","width":"0.27180230882432727","conf":"1","left":"0.01017442358565618","word_num":"0","height":"0.011627906163533597","par_num":"0","block_num":"0","page_num":"0","top":"0.3325581400286983","level":"0","line_num":"0"},{"height":"0.013953487608167836","level":"0","page_num":"0","block_num":"0","text":"__mocks__/nudges.js","top":"0.3325581400718851","width":"0.1061046494377984","word_num":"0","conf":"0.5","par_num":"0","left":"0.2805232549080388","line_num":"0"},{"left":"0.008720944988524652","conf":"1","top":"0.3488372088726255","page_num":"0","block_num":"0","height":"0.01860465155707458","par_num":"0","level":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","width":"0.4622092776828342","word_num":"0","line_num":"0"},{"conf":"1","block_num":"0","level":"0","page_num":"0","par_num":"0","height":"0.01860465155707458","top":"0.3697674416633232","width":"0.3183139377170139","left":"0.008720943423469624","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","line_num":"0","word_num":"0"},{"conf":"1","block_num":"0","level":"0","par_num":"0","width":"0.31540696885850694","text":"front-end/src/components/shared/SavedSearchModal/__tests_","word_num":"0","height":"0.020930230882432732","top":"0.3883720938223495","page_num":"0","left":"0.008720939432180469","line_num":"0"},{"width":"0.2790697521633572","word_num":"0","top":"0.36976744175634635","line_num":"0","page_num":"0","par_num":"0","block_num":"0","conf":"1","height":"0.018604651557074692","left":"0.32994186531367026","level":"0","text":"/__snapshots__/saved-search-modal-edit.output.html"},{"width":"0.25145348442925347","left":"0.329941858342544","par_num":"0","text":"/__snapshots__/saved-search-modal.output.html","level":"0","top":"0.3883720925160363","line_num":"0","height":"0.01860465155707458","block_num":"0","word_num":"0","page_num":"0","conf":"1"},{"level":"0","conf":"1","left":"0.008720939459133782","width":"0.32412789662679037","height":"0.018604651557074692","block_num":"0","page_num":"0","line_num":"0","par_num":"0","top":"0.4093023252679743","word_num":"0","text":"front-end/src/components/shared/SavedSearchModal/config.js"},{"par_num":"0","block_num":"0","page_num":"0","top":"0.4302325583805757","word_num":"0","left":"0.008720945245547382","conf":"1","height":"0.016279069052802075","level":"0","line_num":"0","width":"0.36773253546820744","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js"},{"block_num":"0","par_num":"0","top":"0.4488372090276642","width":"0.4854651133219401","conf":"1","line_num":"0","left":"0.008720939802207934","page_num":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","level":"0","height":"0.01860465155707458"},{"conf":"1","page_num":"0","height":"0.016279069052802075","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","left":"0.007267450825504717","line_num":"0","width":"0.49709298875596786","par_num":"0","block_num":"0","word_num":"0","top":"0.4697674423340641","level":"0"},{"par_num":"0","word_num":"0","conf":"1","line_num":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","left":"0.008720936961676194","block_num":"0","page_num":"0","top":"0.49069767467902525","level":"0","width":"0.245639525519477","height":"0.016279069052802186"},{"level":"0","line_num":"0","word_num":"0","conf":"1","height":"0.01860465155707458","block_num":"0","page_num":"0","par_num":"0","top":"0.509302325306734","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","width":"0.3241278966267904","left":"0.008720940809666643"},{"left":"0.008720944263830709","par_num":"0","line_num":"0","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","conf":"1","level":"0","page_num":"0","width":"0.4127906799316406","word_num":"0","block_num":"0","top":"0.5302325584096454","height":"0.016279069052802186"},{"left":"0.007267443399245208","word_num":"0","block_num":"0","page_num":"0","conf":"1","top":"0.548837209182703","line_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","width":"0.3808139377170139","level":"0","par_num":"0","height":"0.018604651557074692"},{"height":"0.018604651557074692","block_num":"0","page_num":"0","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","line_num":"0","par_num":"0","conf":"1","top":"0.5697674415470441","width":"0.26308138105604384","level":"0","word_num":"0","left":"0.00872094066747218"},{"text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","conf":"1","level":"0","line_num":"0","word_num":"0","width":"0.2790697521633572","page_num":"0","left":"0.008720935081112163","par_num":"0","top":"0.5906976748922036","height":"0.016279069052802297","block_num":"0"},{"page_num":"0","width":"0.40697674221462665","word_num":"0","line_num":"0","height":"0.018604651557074692","block_num":"0","level":"0","par_num":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","conf":"1","top":"0.6093023252912301","left":"0.008720935288035392"},{"level":"0","text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","left":"0.008720932494423177","par_num":"0","top":"0.630232558174951","word_num":"0","width":"0.3735465155707466","conf":"1","line_num":"0","block_num":"0","height":"0.018604651557074692","page_num":"0"},{"text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","top":"0.6488372087951062","level":"0","width":"0.3575581444634332","par_num":"0","page_num":"0","block_num":"0","height":"0.018604651557074692","word_num":"0","conf":"1","left":"0.008720925345802873","line_num":"0"},{"line_num":"0","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","width":"0.30668604109022357","word_num":"0","left":"0.008720930055878897","block_num":"0","conf":"1","par_num":"0","height":"0.023669251335991737","page_num":"0","level":"0","top":"0.6674418601201179"},{"line_num":"0","top":"0.64","width":"0.06666666666666665","par_num":"0","level":"0","height":"0.053333333333333344","conf":"0.30000001192092896","word_num":"0","block_num":"0","page_num":"0","left":"0.30000000013888894","text":"rtarest. php"},{"level":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","page_num":"0","top":"0.6906976746596454","conf":"1","block_num":"0","line_num":"0","word_num":"0","par_num":"0","height":"0.016279069052802186","width":"0.45784882439507385","left":"0.008720943324406762"},{"block_num":"0","conf":"1","level":"0","width":"0.43459303114149306","page_num":"0","par_num":"0","line_num":"0","left":"0.008720919944754178","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","height":"0.019018088446723147","word_num":"0","top":"0.7088888885350363"},{"level":"0","line_num":"0","width":"0.14583333333333337","height":"0.046666666666666634","left":"0.3208333309027779","top":"0.6866666667777778","text":"fonitrn/esComedad.ron,.php","page_num":"0","block_num":"0","par_num":"0","word_num":"0","conf":"0.30000001192092896"},{"block_num":"0","page_num":"0","top":"0.73","conf":"1","line_num":"0","word_num":"0","height":"0.01666666666666672","width":"0.4186046600341797","left":"0.008720931874829398","par_num":"0","level":"0","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php"},{"height":"0.0189405674404568","line_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","level":"0","par_num":"0","top":"0.7488372099361025","word_num":"0","width":"0.5188953399658203","conf":"1","left":"0.008720944031500208","page_num":"0","block_num":"0"},{"page_num":"0","top":"0.769767441714528","level":"0","line_num":"0","left":"0.00872094292957427","height":"0.01912144766913515","conf":"1","block_num":"0","par_num":"0","width":"0.556686019897461","word_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php"},{"block_num":"0","height":"0.018604651557074692","conf":"1","page_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","width":"0.5232557932535807","word_num":"0","left":"0.008720950932465657","par_num":"0","top":"0.7883720927330905","level":"0","line_num":"0"},{"top":"0.8088888884187573","level":"0","conf":"1","line_num":"0","height":"0.019018088446723147","width":"0.5130814022488065","block_num":"0","word_num":"0","left":"0.008720932168461499","par_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","page_num":"0"},{"text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","top":"0.83","word_num":"0","width":"0.5901162889268663","height":"0.018888888888888955","line_num":"0","level":"0","conf":"1","block_num":"0","left":"0.00872093066119501","page_num":"0","par_num":"0"},{"page_num":"0","height":"0.0189405674404568","par_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","left":"0.00872093066119501","top":"0.8488372098663348","conf":"1","level":"0","width":"0.5901162889268663","word_num":"0","block_num":"0","line_num":"0"},{"conf":"1","par_num":"0","page_num":"0","height":"0.016279069052802186","level":"0","block_num":"0","left":"0.00872095191817562","line_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","top":"0.8697674421015059","width":"0.6017441643608942","word_num":"0"},{"line_num":"0","top":"0.8906976746596453","page_num":"0","left":"0.008720941480167237","block_num":"0","word_num":"0","level":"0","par_num":"0","width":"0.5188953399658204","conf":"1","height":"0.016279069052802186","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php"},{"height":"0.019018088446723036","top":"0.9088888883993775","width":"0.5130813598632812","par_num":"0","block_num":"0","level":"0","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","page_num":"0","word_num":"0","conf":"1","line_num":"0","left":"0.008720965718114076"},{"block_num":"0","par_num":"0","word_num":"0","line_num":"0","level":"0","width":"0.4796511332194011","text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","top":"0.93","page_num":"0","conf":"1","left":"0.008720959803854693","height":"0.016666666666666607"},{"line_num":"0","par_num":"0","text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","word_num":"0","conf":"1","block_num":"0","left":"0.008720958818144888","height":"0.0189405674404568","level":"0","page_num":"0","top":"0.9488372099361024","width":"0.4636627621120876"},{"height":"0.02144702911376961","line_num":"0","page_num":"0","conf":"1","par_num":"0","width":"0.5348837110731336","word_num":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","level":"0","top":"0.9674418601201177","left":"0.004360485232488721","block_num":"0"},{"top":"0.06511627927731145","word_num":"0","page_num":"0","left":"0.6250000001737047","block_num":"0","height":"0.013953487608167836","par_num":"0","text":"O 84","line_num":"0","level":"0","conf":"0.30000001192092896","width":"0.024709301524692084"},{"par_num":"0","text":"-zsh","width":"0.017441859510209823","word_num":"0","left":"0.7194767443728021","top":"0.06744186098800065","height":"0.011627906163533597","page_num":"0","conf":"0.5","block_num":"0","level":"0","line_num":"0"},{"line_num":"0","height":"0.011627906163533597","conf":"0.30000001192092896","par_num":"0","block_num":"0","text":"885","top":"0.0674418609589309","width":"0.01453488270441694","left":"0.7994186049777334","word_num":"0","level":"0","page_num":"0"},{"top":"0.0068626474102171375","page_num":"0","conf":"0.30000001192092896","par_num":"0","level":"0","width":"0.04218044016096334","word_num":"0","left":"0.8168458269716159","text":"100% <7","line_num":"0","block_num":"0","height":"0.014181681738959395"},{"block_num":"0","left":"0.8909883701829538","par_num":"0","text":"Mon 27 Apr 18:59:36","top":"0.00666666666666671","page_num":"0","line_num":"0","conf":"1","level":"0","width":"0.09738372166951492","word_num":"0","height":"0.014444444444444371"},{"conf":"0.30000001192092896","width":"0.021802324718899202","level":"0","line_num":"0","left":"0.9709302326260156","par_num":"0","text":"181","word_num":"0","page_num":"0","block_num":"0","height":"0.013953487608167836","top":"0.03488372138971452"},{"top":"0.06744186083296189","width":"0.11046511332194009","word_num":"0","left":"0.8372093056452314","block_num":"0","conf":"1","line_num":"0","level":"0","height":"0.011627906163533597","par_num":"0","page_num":"0","text":"ec2-user@ip-10-30-95-134:..."},{"conf":"0.30000001192092896","left":"0.9534883728481232","par_num":"0","word_num":"0","line_num":"0","width":"0.024709301524692084","block_num":"0","height":"0.013953487608167836","page_num":"0","text":"• *6","top":"0.06511627933545094","level":"0"},{"conf":"1","level":"0","block_num":"0","par_num":"0","page_num":"0","top":"0.09069767487808655","text":"66","width":"0.01453488270441694","line_num":"0","word_num":"0","height":"0.013953487608167947","left":"0.651162790963683"},{"page_num":"0","word_num":"0","line_num":"0","height":"0.011627906163533486","par_num":"0","text":"++++","conf":"1","top":"0.09302325610427975","width":"0.024709301524692084","level":"0","block_num":"0","left":"0.668604651975057"},{"par_num":"0","text":"23 +-","conf":"1","height":"0.01669250594245064","page_num":"0","line_num":"0","width":"0.03052325513627796","top":"0.1088888889538393","word_num":"0","level":"0","block_num":"0","left":"0.6511627914915763"},{"left":"0.6511627906647812","width":"0.014534884028964634","text":"20","height":"0.016279069052802186","line_num":"0","page_num":"0","par_num":"0","block_num":"0","top":"0.1302325583999555","level":"0","word_num":"0","conf":"1"},{"top":"0.13255813982521003","par_num":"0","word_num":"0","line_num":"0","level":"0","left":"0.6686046519044723","width":"0.013081394301520444","block_num":"0","conf":"0.5","page_num":"0","text":"+-","height":"0.011627906163533486"},{"left":"0.658430232751938","text":"4","height":"0.013953487906976814","page_num":"0","top":"0.15116279116279063","width":"0.007267441618217019","word_num":"0","level":"0","conf":"1","line_num":"0","block_num":"0","par_num":"0"},{"left":"0.6686046510880266","width":"0.01162790722317164","block_num":"0","level":"0","line_num":"0","par_num":"0","conf":"0.30000001192092896","top":"0.15348837269342708","word_num":"0","height":"0.011627906163533486","page_num":"0","text":"+-"},{"line_num":"0","conf":"0.30000001192092896","height":"0.013953487608167947","page_num":"0","level":"0","word_num":"0","par_num":"0","left":"0.6584302333351134","text":"7 +","width":"0.01889534791310632","top":"0.16976744216490824","block_num":"0"},{"word_num":"0","level":"0","page_num":"0","line_num":"0","height":"0.013953487608167836","conf":"0.5","block_num":"0","par_num":"0","left":"0.6584302333351134","text":"1 +","top":"0.19069767472304788","width":"0.01889534791310632"},{"height":"0.016279069052802186","page_num":"0","level":"0","text":"24","left":"0.6511627914570022","par_num":"0","block_num":"0","line_num":"0","conf":"1","width":"0.015988371107313437","top":"0.20930232582243613","word_num":"0"},{"word_num":"0","par_num":"0","width":"0.010174418158001464","conf":"0.5","line_num":"0","top":"0.21395348820707683","block_num":"0","height":"0.009302325778537401","left":"0.6700581396855341","text":"+-","level":"0","page_num":"0"},{"top":"0.23023255863777647","word_num":"0","par_num":"0","line_num":"0","level":"0","text":"10","width":"0.01453488270441694","block_num":"0","conf":"1","left":"0.6511627910242451","page_num":"0","height":"0.013953487608167947"},{"width":"0.01889534791310632","conf":"0.5","height":"0.01671834627787272","par_num":"0","line_num":"0","page_num":"0","left":"0.6584302327537183","text":"5 +","top":"0.2488372092900042","block_num":"0","word_num":"0","level":"0"},{"text":"170","width":"0.01889534791310621","line_num":"0","conf":"1","level":"0","top":"0.26976744235870675","word_num":"0","height":"0.013953487608167836","page_num":"0","block_num":"0","left":"0.646802325807255","par_num":"0"},{"word_num":"0","par_num":"0","block_num":"0","level":"0","page_num":"0","width":"0.01453488270441694","text":"18","line_num":"0","top":"0.2906976748780866","conf":"1","height":"0.013953487608167836","left":"0.651162790963683"},{"width":"0.01453488270441694","block_num":"0","conf":"1","height":"0.016279069052802297","par_num":"0","word_num":"0","page_num":"0","left":"0.651162791205931","level":"0","line_num":"0","text":"16","top":"0.30930232621003295"},{"par_num":"0","top":"0.31395348897249686","width":"0.013081394301520444","word_num":"0","left":"0.6686046517106738","level":"0","conf":"0.30000001192092896","text":"+-","page_num":"0","height":"0.011627906163533486","block_num":"0","line_num":"0"},{"block_num":"0","level":"0","width":"0.017441859510209934","height":"0.01860465155707458","top":"0.3488372088726255","line_num":"0","conf":"1","page_num":"0","par_num":"0","word_num":"0","left":"0.6482558143219299","text":"62"},{"level":"0","page_num":"0","block_num":"0","width":"0.008720929941860467","conf":"1","left":"0.6366279070251938","par_num":"0","text":"-","top":"0.36976744186046506","height":"0.013953487906976814","line_num":"0","word_num":"0"},{"top":"0.36976744235870673","line_num":"0","block_num":"0","height":"0.013953487608167836","word_num":"0","width":"0.01889534791310621","page_num":"0","conf":"1","left":"0.646802325807255","level":"0","par_num":"0","text":"942"},{"width":"0.01889534791310621","word_num":"0","par_num":"0","top":"0.39069767491684626","conf":"1","left":"0.646802325807255","page_num":"0","level":"0","line_num":"0","text":"942","height":"0.013953487608167947","block_num":"0"},{"conf":"1","width":"0.01453488270441694","line_num":"0","block_num":"0","height":"0.016279069052802186","level":"0","par_num":"0","page_num":"0","word_num":"0","text":"21","left":"0.6511627910605823","top":"0.4093023256673973"},{"height":"0.016279070112440452","block_num":"0","word_num":"0","left":"0.6511627906082568","conf":"1","page_num":"0","line_num":"0","level":"0","top":"0.43023255805747485","par_num":"0","text":"33","width":"0.014534884028964523"},{"width":"0.017441859510209823","left":"0.6700581403030346","conf":"1","block_num":"0","height":"0.011627906163533486","level":"0","page_num":"0","par_num":"0","top":"0.3534883723833495","line_num":"0","text":"+++","word_num":"0"},{"height":"0.08372093200683584","line_num":"0","left":"0.8517441850662857","par_num":"0","word_num":"0","level":"0","block_num":"0","conf":"0.30000001192092896","top":"0.14651162688694752","text":"APP","page_num":"0","width":"0.1395348866780598"},{"word_num":"0","left":"0.6686046489065398","conf":"0.30000001192092896","height":"0.0813953484429254","line_num":"0","par_num":"0","text":"++++","level":"0","top":"0.4511627900808629","block_num":"0","page_num":"0","width":"0.013081399599711108"},{"width":"0.011627907223171752","level":"0","text":"++","par_num":"0","word_num":"0","page_num":"0","height":"0.013953488667805991","block_num":"0","left":"0.6700581393147707","line_num":"0","conf":"1","top":"0.5325581392707482"},{"top":"0.6116279067372514","word_num":"0","conf":"0.30000001192092896","block_num":"0","width":"0.013081395626068137","par_num":"0","page_num":"0","height":"0.01162790722317164","left":"0.6700581393235938","line_num":"0","text":"++.","level":"0"}]...
|
Slack
|
AppleNative
|
Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3840
|
NULL
|
NULL
|
|
89236
|
100% (7.& Mon 27 Apr 18:59:36Friday. April 24 100% (7.& Mon 27 Apr 18:59:36Friday. April 24th~HomeActivityFllesLaterMoreSlackViewJiminny... v@ jiminny-x-integrati• plattorm-inner-teamE Channels# ai-chapter# alertsic backend# confusion-cliniccuriosity ab# engineering# generall# infra-changes#jiminny-bga nlattorm-nckets# product launches# randomreleasod# sofia-officed sunport# thank-yous# the people of iimi... Direct messagesNikolav Yankov% Galya DimitrovaM. Aneliva AngelovaeVacil Vasiler(3) Aneliva Angelova.Q Nikolav Ivanov. Nikolay Nikolov2 Stefka StovanovaQ Adelina DetrovalStoyan Tomov( Petko Kashinski88. Mario GeorgievSs: Todor Stamatov.R. Cabriele Dureve#::Anndf Jira CloudB ToastmistonWindowHelp@ Describe what you are looking fore Galya DimitrovaMessagese FilesUntitlednoccalis male to d your selycuer (hport Namel) report for (15-30 Jun),enerated automatically, your titers, your next scheauled report wil beYou can review or update your liiters anytme in Jiminny » Al keports.аз го направих със линк но сега гледам може би трябва да се само текстCleanShot 2026-04.24 at 13. 30.4702x nno vHi there¡ activities' report for 12 - 18Once new calls match vour filters, your next scheduled report will beGalya Dimitrova 1:31 PMИ с линк е оКImkas Kovalil 4.22 pMlTodavvhttps://iiminny.atlassian.net/browse/iy-20740кеш естимеит за това, че преди малко се сетихfw.ps://jminny.atlassian.net/browse/JY-20740JY-20740 Release AJ Panorama reports to customers… Tvpe: Storv®) Assignee: Unassiened1 Prioritv: MediumAsSigrChange status*+Al Summariseби трябва май основно миграция да е май~ Sar • Due 29 minutes agoLukas Kovallik 5:26 PMШе го вилия слел като се въона от гралина (сMessage Galva Dimitrova F In a meeting • Google Calendar+ Да...
|
[{"conf":"0.30000001192092896", [{"conf":"0.30000001192092896","level":"0","block_num":"0","height":"0.01074748898617195","text":"100% (7.& Mon 27 Apr 18:59:36","word_num":"0","line_num":"0","top":"0.0031897927794189984","width":"0.08575581489725315","par_num":"0","left":"0.9098837216395586","page_num":"0"},{"par_num":"0","page_num":"0","text":"","block_num":"0","line_num":"0","width":"0.008720930014534889","word_num":"0","height":"0.017421602351916365","level":"0","conf":"0.30000001192092896","top":"0.027874564808362368","left":"0.47674418604651164"},{"block_num":"0","height":"0.010480746888277825","top":"0.1323763954031456","text":"Friday. April 24th~","word_num":"0","level":"0","width":"0.039244182566379016","conf":"0.5","page_num":"0","line_num":"0","left":"0.2776162829680394","par_num":"0"},{"text":"Home","top":"0.13937282263485706","width":"0.010174417749364324","page_num":"0","word_num":"0","block_num":"0","height":"0.006968640444571572","conf":"1","level":"0","line_num":"0","left":"0.00581395442473639","par_num":"0"},{"top":"0.24738676010060034","page_num":"0","block_num":"0","width":"0.013081394611520969","conf":"1","word_num":"0","line_num":"0","left":"0.004360466139006892","height":"0.010452960286604362","level":"0","par_num":"0","text":"Activity"},{"conf":"0.5","text":"Flles","height":"0.017421602252187474","block_num":"0","line_num":"0","left":"0.0072674419278807864","level":"0","par_num":"0","top":"0.29965156806670534","width":"0.00872092995237797","word_num":"0","page_num":"0"},{"top":"0.35191637674847065","block_num":"0","left":"0.005813953429395891","height":"0.017421602252187585","level":"0","page_num":"0","width":"0.010174418383456292","line_num":"0","par_num":"0","word_num":"0","conf":"1","text":"Later"},{"par_num":"0","height":"0.006968640444571461","left":"0.00581395442473639","text":"More","top":"0.4111498261191777","level":"0","width":"0.010174417749364324","word_num":"0","page_num":"0","conf":"0.5","block_num":"0","line_num":"0"},{"conf":"1","text":"Slack","level":"0","left":"0.015988371807611673","top":"0.003484321424642056","block_num":"0","word_num":"0","page_num":"0","par_num":"0","height":"0.010452960286604362","line_num":"0","width":"0.013081394611520969"},{"block_num":"0","text":"View","top":"0.006968641633701367","line_num":"0","left":"0.06395348935163908","page_num":"0","par_num":"0","width":"0.011627906180442654","conf":"0.30000001192092896","word_num":"0","level":"0","height":"0.010452960286604362"},{"width":"0.03633720570422234","left":"0.02761628269152134","text":"Jiminny... v","height":"0.013951173809726769","word_num":"0","par_num":"0","page_num":"0","level":"0","top":"0.06618819786721097","conf":"0.30000001192092896","line_num":"0","block_num":"0"},{"page_num":"0","level":"0","block_num":"0","conf":"0.5","left":"0.03343023162082732","text":"@ jiminny-x-integrati","word_num":"0","height":"0.010452960286604362","par_num":"0","line_num":"0","top":"0.09407665591941561","width":"0.04941860158392724"},{"block_num":"0","conf":"1","page_num":"0","text":"• plattorm-inner-team","top":"0.1184668991342196","width":"0.05232557844608387","left":"0.03343023289112492","level":"0","word_num":"0","height":"0.010719703905510136","line_num":"0","par_num":"0"},{"level":"0","conf":"0.30000001192092896","text":"E Channels","top":"0.14634146368723133","width":"0.027616277654120263","line_num":"0","page_num":"0","height":"0.010755824890623433","word_num":"0","par_num":"0","block_num":"0","left":"0.029069768857371583"},{"conf":"1","left":"0.033425733991395104","top":"0.17065198552220473","par_num":"0","text":"# ai-chapter","width":"0.03198574451690024","word_num":"0","line_num":"0","height":"0.010612404897832772","level":"0","page_num":"0","block_num":"0"},{"word_num":"0","top":"0.191387559849034","level":"0","height":"0.010703032096607279","block_num":"0","line_num":"0","text":"# alerts","width":"0.020348835498728644","par_num":"0","left":"0.03343023239598461","page_num":"0","conf":"0.5"},{"page_num":"0","level":"0","text":"ic backend","width":"0.0276162751177524","block_num":"0","height":"0.007257611367501027","par_num":"0","conf":"0.30000001192092896","left":"0.033430233739572664","top":"0.21602787499438603","word_num":"0","line_num":"0"},{"level":"0","word_num":"0","width":"0.04360464785961395","block_num":"0","left":"0.033430236389960254","page_num":"0","top":"0.23684210521680837","par_num":"0","conf":"1","line_num":"0","height":"0.010544653714558705","text":"# confusion-clinic"},{"text":"curiosity ab","block_num":"0","width":"0.03633721077695806","line_num":"0","height":"0.006968641205077342","left":"0.03343023145322237","conf":"0.30000001192092896","page_num":"0","top":"0.26132404175286195","word_num":"0","level":"0","par_num":"0"},{"text":"# engineering","top":"0.2817061456282044","width":"0.03493564686876662","par_num":"0","level":"0","page_num":"0","line_num":"0","word_num":"0","left":"0.033404267845734935","block_num":"0","conf":"1","height":"0.011500601182904191"},{"top":"0.3030303029362562","left":"0.03343023460359518","conf":"0.5","par_num":"0","level":"0","height":"0.010558546635142552","block_num":"0","page_num":"0","text":"# generall","width":"0.026162789223041938","line_num":"0","word_num":"0"},{"page_num":"0","left":"0.03343023626041497","par_num":"0","text":"# infra-changes","block_num":"0","level":"0","word_num":"0","height":"0.010591889492442497","line_num":"0","top":"0.3275261327943597","conf":"1","width":"0.03924418256637899"},{"height":"0.010452960286604362","line_num":"0","top":"0.34843205661627974","text":"#jiminny-bg","conf":"1","word_num":"0","left":"0.03343023284683205","block_num":"0","par_num":"0","level":"0","width":"0.03197674041098737","page_num":"0"},{"height":"0.006968641205077342","word_num":"0","conf":"0.30000001192092896","par_num":"0","text":"a nlattorm-nckets","width":"0.04360465293234968","block_num":"0","left":"0.03343023160068563","level":"0","line_num":"0","page_num":"0","top":"0.3728222995949062"},{"par_num":"0","left":"0.03343023821666419","block_num":"0","page_num":"0","text":"# product launches","height":"0.010577996571858761","width":"0.04796511061648105","word_num":"0","level":"0","top":"0.3937282234343914","conf":"1","line_num":"0"},{"top":"0.4146341468601822","block_num":"0","conf":"1","line_num":"0","par_num":"0","word_num":"0","page_num":"0","height":"0.010452960286604362","left":"0.03343023460359518","level":"0","text":"# random","width":"0.026162789223041938"},{"level":"0","line_num":"0","block_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.026162789223041938","top":"0.439024390579108","word_num":"0","left":"0.03343023460359518","text":"releasod","page_num":"0","height":"0.006968640444571461"},{"conf":"1","line_num":"0","par_num":"0","top":"0.4599303140744231","width":"0.03343022884206569","block_num":"0","height":"0.010564103651274914","left":"0.033430236274122296","text":"# sofia-office","word_num":"0","level":"0","page_num":"0"},{"width":"0.026162789223041938","height":"0.0072381614307848174","page_num":"0","top":"0.4840510367548352","line_num":"0","word_num":"0","block_num":"0","left":"0.03343023460359518","level":"0","conf":"0.30000001192092896","par_num":"0","text":"d sunport"},{"height":"0.010722482033323488","top":"0.5052264812343649","block_num":"0","conf":"1","text":"# thank-yous","width":"0.03343022884206569","page_num":"0","line_num":"0","left":"0.03343023627384907","level":"0","par_num":"0","word_num":"0"},{"par_num":"0","level":"0","height":"0.010550210730691068","top":"0.5261324048886707","text":"# the people of iimi..","width":"0.053779064340794346","conf":"0.5","left":"0.033430238362816646","line_num":"0","page_num":"0","word_num":"0","block_num":"0"},{"top":"0.557416267899535","height":"0.010527982666161617","conf":"0.30000001192092896","left":"0.029069770740476848","word_num":"0","line_num":"0","text":". Direct messages","page_num":"0","par_num":"0","width":"0.04360464785961394","level":"0","block_num":"0"},{"width":"0.04215115942853562","word_num":"0","height":"0.010700253968794038","par_num":"0","text":"Nikolav Yankov","page_num":"0","top":"0.5781499200769926","conf":"0.5","block_num":"0","level":"0","left":"0.033430236434687635","line_num":"0"},{"conf":"0.30000001192092896","left":"0.0334302335571803","block_num":"0","level":"0","line_num":"0","par_num":"0","page_num":"0","top":"0.599303135682263","width":"0.05087209255137342","height":"0.013937282410154683","word_num":"0","text":"% Galya Dimitrova"},{"top":"0.623604465618983","word_num":"0","left":"0.03343023573912295","width":"0.04651162472177058","block_num":"0","conf":"0.30000001192092896","par_num":"0","page_num":"0","level":"0","line_num":"0","text":"M. Aneliva Angelova","height":"0.010541875586745464"},{"left":"0.03343023352623691","par_num":"0","page_num":"0","line_num":"0","level":"0","text":"eVacil Vasiler","width":"0.034883719809511875","block_num":"0","top":"0.6480836236338143","conf":"0.30000001192092896","height":"0.006968641205077342","word_num":"0"},{"block_num":"0","top":"0.6689895472639015","level":"0","width":"0.04941860158392723","par_num":"0","line_num":"0","height":"0.010452961047110132","conf":"0.5","left":"0.033430235623894064","page_num":"0","text":"(3) Aneliva Angelova.","word_num":"0"},{"top":"0.6897926636315757","left":"0.03343023191109747","par_num":"0","page_num":"0","block_num":"0","text":"Q Nikolav Ivanov","height":"0.01055576774682343","level":"0","line_num":"0","width":"0.04069767353382516","conf":"0.30000001192092896","word_num":"0"},{"line_num":"0","width":"0.043604647859613946","conf":"0.5","level":"0","text":". Nikolay Nikolov","page_num":"0","par_num":"0","top":"0.714285714514252","word_num":"0","block_num":"0","height":"0.01059466838076173","left":"0.03343023649229833"},{"height":"0.010452961047110243","par_num":"0","conf":"0.30000001192092896","line_num":"0","level":"0","page_num":"0","text":"2 Stefka Stovanova","block_num":"0","top":"0.7351916378562359","width":"0.04651162472177059","word_num":"0","left":"0.03343023574157197"},{"left":"0.03343023649229833","line_num":"0","height":"0.010569661427913157","width":"0.043604647859613946","page_num":"0","par_num":"0","text":"Q Adelina Detroval","word_num":"0","level":"0","block_num":"0","top":"0.7559808610578788","conf":"0.30000001192092896"},{"conf":"1","line_num":"0","height":"0.010580775460177771","block_num":"0","level":"0","page_num":"0","left":"0.03343023405789344","text":"Stoyan Tomov","top":"0.7804878050671759","par_num":"0","width":"0.03924418510274684","word_num":"0"},{"width":"0.043604647859613946","left":"0.0334302366242539","word_num":"0","page_num":"0","conf":"1","text":"( Petko Kashinski","par_num":"0","top":"0.8013937287417153","height":"0.010452960286604362","line_num":"0","level":"0","block_num":"0"},{"top":"0.8221690590544602","word_num":"0","block_num":"0","left":"0.033430233608541776","width":"0.045058138827060126","level":"0","line_num":"0","par_num":"0","height":"0.017552194793068465","page_num":"0","conf":"0.5","text":"88. Mario Georgiev"},{"height":"0.010566881779088155","block_num":"0","level":"0","page_num":"0","top":"0.8466898963487846","left":"0.03343023662617514","conf":"0.5","text":"Ss: Todor Stamatov.","word_num":"0","width":"0.043604647859613946","line_num":"0","par_num":"0"},{"page_num":"0","par_num":"0","top":"0.8675958196824817","text":"R. Cabriele Dureve","height":"0.010452960286604362","width":"0.04360464785961394","word_num":"0","level":"0","block_num":"0","line_num":"0","conf":"0.30000001192092896","left":"0.033430236432641265"},{"level":"0","left":"0.027616278907612524","page_num":"0","word_num":"0","top":"0.8989547046999035","text":"#::Annd","width":"0.020348835498728648","line_num":"0","height":"0.010452960286604362","block_num":"0","conf":"0.30000001192092896","par_num":"0"},{"left":"0.03343023252397879","line_num":"0","par_num":"0","page_num":"0","conf":"0.30000001192092896","block_num":"0","height":"0.01395117533073853","text":"f Jira Cloud","top":"0.9198606270399085","word_num":"0","level":"0","width":"0.030523254516276903"},{"width":"0.021802323929806973","word_num":"0","height":"0.010525203777842607","level":"0","page_num":"0","line_num":"0","left":"0.03343023447404989","text":"B Toast","block_num":"0","conf":"0.30000001192092896","top":"0.9441786283335306","par_num":"0"},{"page_num":"0","conf":"0.30000001192092896","left":"0.09302325755713681","word_num":"0","height":"0.006968640444571461","level":"0","block_num":"0","top":"0.006968641450188162","width":"0.01598837020549368","line_num":"0","text":"miston","par_num":"0"},{"conf":"1","left":"0.1148255831817139","word_num":"0","page_num":"0","par_num":"0","text":"Window","width":"0.017441858636572022","top":"0.003484321076209995","block_num":"0","height":"0.010452960286604362","level":"0","line_num":"0"},{"line_num":"0","conf":"0.5","top":"0.003484321424642056","left":"0.13662790679349965","page_num":"0","height":"0.010452960286604362","width":"0.011627906180442654","block_num":"0","par_num":"0","text":"Help","word_num":"0","level":"0"},{"text":"@ Describe what you are looking for","left":"0.1409883767292046","level":"0","line_num":"0","conf":"1","par_num":"0","word_num":"0","height":"0.010711368001058763","top":"0.031100478404652132","width":"0.07122092551373421","block_num":"0","page_num":"0"},{"conf":"0.30000001192092896","level":"0","text":"e Galya Dimitrova","block_num":"0","left":"0.11337209557748702","line_num":"0","par_num":"0","width":"0.06395348589471046","word_num":"0","page_num":"0","top":"0.06618819812853494","height":"0.01395117380972688"},{"block_num":"0","par_num":"0","level":"0","conf":"1","page_num":"0","width":"0.02470930332833149","line_num":"0","text":"Messages","height":"0.006968641205077453","top":"0.10452961670018723","word_num":"0","left":"0.10465116236199706"},{"line_num":"0","page_num":"0","conf":"0.30000001192092896","par_num":"0","width":"0.014534883042599311","height":"0.0071770334928229484","block_num":"0","text":"e Files","left":"0.1366279074930706","top":"0.1044657097288676","word_num":"0","level":"0"},{"left":"0.1584302321540866","width":"0.023255814897253146","conf":"0.30000001192092896","par_num":"0","word_num":"0","block_num":"0","text":"Untitled","page_num":"0","top":"0.10452961670292016","line_num":"0","height":"0.006968641205077342","level":"0"},{"conf":"0.30000001192092896","par_num":"0","top":"0.1498257843652011","width":"0.10610464785961393","text":"noccalis male to d your selycuer (hport Namel) report for (15-30 Jun),","block_num":"0","line_num":"0","height":"0.020905922094220375","word_num":"0","page_num":"0","level":"0","left":"0.12500000329477254"},{"par_num":"0","word_num":"0","level":"0","top":"0.18102073374707872","width":"0.10319766592472157","height":"0.01758553688986264","page_num":"0","block_num":"0","left":"0.12354651005138068","line_num":"0","text":"enerated automatically, your titers, your next scheauled report wil be","conf":"0.5"},{"block_num":"0","level":"0","line_num":"0","page_num":"0","par_num":"0","left":"0.12063953515048521","text":"You can review or update your liiters anytme in Jiminny » Al keports.","top":"0.2089314194577352","width":"0.10319766592472158","conf":"0.5","word_num":"0","height":"0.0071770334928230595"},{"block_num":"0","left":"0.11627908273884958","conf":"0.5","level":"0","line_num":"0","page_num":"0","par_num":"0","text":"аз го направих със линк но сега гледам може би трябва да се само текст","top":"0.2679425837320575","width":"0.1700581286815887","word_num":"0","height":"0.011164274322168932"},{"level":"0","page_num":"0","text":"CleanShot 2026-04.24 at 13. 30.4702x nno v","par_num":"0","width":"0.091569758476095","word_num":"0","left":"0.11627907622071199","top":"0.2891986062211098","height":"0.006968641205077342","block_num":"0","line_num":"0","conf":"0.30000001192092896"},{"block_num":"0","text":"Hi there","line_num":"0","par_num":"0","height":"0.007193704541220036","top":"0.3205574914601137","word_num":"0","level":"0","conf":"1","width":"0.01889534833583427","left":"0.12209302359887107","page_num":"0"},{"width":"0.04215115942853562","height":"0.007352082923268499","word_num":"0","block_num":"0","conf":"0.5","line_num":"0","text":"¡ activities' report for 12 - 18","level":"0","left":"0.19331395317986574","page_num":"0","par_num":"0","top":"0.36585365879427156"},{"conf":"1","block_num":"0","par_num":"0","height":"0.007346525907136248","top":"0.4003189791186301","page_num":"0","level":"0","text":"Once new calls match vour filters, your next scheduled report will be","width":"0.10319765577925011","left":"0.12354651975388917","line_num":"0","word_num":"0"},{"width":"0.06395348589471046","level":"0","word_num":"0","line_num":"0","text":"Galya Dimitrova 1:31 PM","par_num":"0","block_num":"0","page_num":"0","height":"0.010452960286604251","left":"0.11482558462162902","conf":"0.5","top":"0.508710801912447"},{"block_num":"0","text":"И с линк е оК","conf":"0.30000001192092896","top":"0.5254104889129337","line_num":"0","par_num":"0","width":"0.032209618294492676","level":"0","word_num":"0","height":"0.011723540045998293","page_num":"0","left":"0.1162027861154441"},{"conf":"0.30000001192092896","height":"0.007252054351368553","block_num":"0","par_num":"0","level":"0","left":"0.11627907521459172","text":"Imkas Kovalil 4.22 pMl","width":"0.050872087478637695","word_num":"0","top":"0.5502392344742832","page_num":"0","line_num":"0"},{"par_num":"0","text":"Todavv","conf":"0.5","word_num":"0","page_num":"0","height":"0.006968641205077342","width":"0.01744185990475594","line_num":"0","top":"0.6027874563719097","left":"0.2892441862540174","level":"0","block_num":"0"},{"line_num":"0","width":"0.09593022123296209","level":"0","par_num":"0","conf":"1","word_num":"0","page_num":"0","top":"0.6445993036546072","text":"https://iiminny.atlassian.net/browse/iy-20740","left":"0.11773256859863475","block_num":"0","height":"0.010452960286604362"},{"conf":"1","block_num":"0","height":"0.0071770334928229484","word_num":"0","par_num":"0","text":"кеш естимеит за това, че преди малко се сетих","left":"0.2151162774577927","page_num":"0","top":"0.6515151515151515","width":"0.10901162979450632","level":"0","line_num":"0"},{"block_num":"0","text":"fw.ps://jminny.atlassian.net/browse/JY-20740","width":"0.10185456783213515","height":"0.01456043024382514","par_num":"0","top":"0.6720067018693368","level":"0","word_num":"0","conf":"0.30000001192092896","left":"0.1176655527985597","line_num":"0","page_num":"0"},{"level":"0","conf":"1","left":"0.12209303363530581","height":"0.011164274322169043","par_num":"0","width":"0.11918603613021526","block_num":"0","page_num":"0","top":"0.6929824561403509","line_num":"0","word_num":"0","text":"JY-20740 Release AJ Panorama reports to customers"},{"top":"0.7177033493439169","page_num":"0","text":"… Tvpe: Storv","width":"0.02906976354883073","conf":"0.30000001192092896","level":"0","left":"0.1584302364153276","word_num":"0","block_num":"0","line_num":"0","par_num":"0","height":"0.010519646761710244"},{"word_num":"0","left":"0.19186046831194206","page_num":"0","line_num":"0","block_num":"0","top":"0.7177033493439169","height":"0.010519646761710244","width":"0.049418596511191515","par_num":"0","conf":"0.30000001192092896","level":"0","text":"®) Assignee: Unassiened"},{"word_num":"0","height":"0.010519646761710244","conf":"0.5","par_num":"0","page_num":"0","line_num":"0","block_num":"0","width":"0.0406976709974573","level":"0","top":"0.7177033493439169","text":"1 Prioritv: Medium","left":"0.24709302667364208"},{"block_num":"0","par_num":"0","conf":"0.30000001192092896","width":"0.013081394611520969","top":"0.7526132403343564","line_num":"0","height":"0.006968641205077342","text":"AsSigr","word_num":"0","level":"0","left":"0.1250000002959837","page_num":"0"},{"width":"0.02906976354883073","block_num":"0","page_num":"0","level":"0","left":"0.14534883817649236","par_num":"0","height":"0.007354861051081851","top":"0.7526132408944168","line_num":"0","text":"Change status","conf":"1","word_num":"0"},{"word_num":"0","left":"0.1816860502134023","line_num":"0","top":"0.7488038277511961","conf":"0.5","page_num":"0","height":"0.011164274322169043","par_num":"0","block_num":"0","width":"0.03488371727314399","level":"0","text":"*+Al Summarise"},{"top":"0.8013937287417153","block_num":"0","width":"0.09883720316785446","text":"би трябва май основно миграция да е май","left":"0.1162790772347318","page_num":"0","height":"0.010452960286604362","conf":"1","line_num":"0","word_num":"0","level":"0","par_num":"0"},{"level":"0","line_num":"0","page_num":"0","left":"0.10901162762156517","height":"0.010739153842226346","block_num":"0","par_num":"0","word_num":"0","text":"~ Sa","conf":"0.30000001192092896","width":"0.013081394611520969","top":"0.8257839723142257"},{"height":"0.010739153842226346","level":"0","width":"0.04505813375432441","left":"0.14389535002267134","top":"0.8257839723142257","text":"r • Due 29 minutes ago","conf":"0.5","line_num":"0","page_num":"0","par_num":"0","block_num":"0","word_num":"0"},{"block_num":"0","line_num":"0","text":"Lukas Kovallik 5:26 PM","par_num":"0","conf":"0.30000001192092896","page_num":"0","top":"0.8429027113575609","left":"0.11773255961633698","height":"0.0072715042880847625","level":"0","width":"0.04796511061648105","word_num":"0"},{"height":"0.010480747648783706","line_num":"0","block_num":"0","page_num":"0","par_num":"0","text":"Ше го вилия слел като се въона от гралина (с","top":"0.8571428569798917","width":"0.10755813882706014","word_num":"0","left":"0.11773255884926676","conf":"0.5","level":"0"},{"par_num":"0","line_num":"0","word_num":"0","page_num":"0","conf":"0.5","left":"0.10610466342082746","block_num":"0","height":"0.010466853967693979","level":"0","text":"Message Galva Dimitrova F In a meeting • Google Calendar","width":"0.13517440633570893","top":"0.9233449481743922"},{"top":"0.9545454544222594","text":"+ Да","block_num":"0","line_num":"0","level":"0","height":"0.010611339429158706","width":"0.017441858636572008","word_num":"0","left":"0.1075581413423384","page_num":"0","conf":"0.30000001192092896","par_num":"0"}]...
|
Slack
|
AppleNative
|
Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
1874
|
NULL
|
NULL
|
|
89240
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelpAPP (-zsh)DOCKER881DEV (docker)₴82APP (-zsh)83screenpipe"front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.jsfront-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vuefront-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.htmlfront-end/src/components/AiReports/constants.jsfront-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vuefront-end/src/components/Settings/shared/FormElements/DatePickerField.vuefront-end/src/components/Settings/shared/FormElements/Field.lessfront-end/src/components/Settings/shared/FormElements/Field.vuefront-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jsfront-end/src/components/layout/Sidebar/useAiReportsSidebarButton.jsfront-end/src/components/shared/SavedSearchModal/SavedSearchModal.vuefront-end/src/components/shared/SavedSearchModal/__mocks__/nudges.jsfront-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.jsfront-end/src/components/shared/SavedSearchModal/__tests_.front-end/src/components/shared/SavedSearchModal/__tests_/__snapshots__/saved-search-modal-edit.output.html/__snapshots__/saved-search-modal.output.htmlfront-end/src/components/shared/SavedSearchModal/config.jsfront-end/src/components/shared/SavedSearchModal/useSavedSearch.jsresources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustacheresources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachetests/Feature/NudgeProcessingFeatureTest.phptests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.phptests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phptests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.phptests/Unit/Component/Nudge/NudgeFactoryTest.phptests/Unit/Component/Nudge/NudgeRunFactoryTest.phptests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phptests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phptests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php54 files changed, 2219 insertions(+), 1753 deletions(-)rtarest. phpcreate mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.phpcreate mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.phpfonitrn/esComedad.ron,.phpcreate mode 100644 app/Notifications/NudgeExpirationWarningNotification.phpcreate mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.phpcreate mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.phpcreate mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.phpcreate mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.phpcreate mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.jscreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustachecreate mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustachecreate mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.phpcreate mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.phpcreate mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.phpcreate mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.phplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ OO 84-zsh885100% <7Mon 27 Apr 18:59:57181ec2-user@ip-10-30-95-134:...• ₴6|66++++23 +-20+-4+-7 +1 +24+-105 +1701816+-62-9429422133+++APP++++++++....
|
[{"page_num":"0","top": [{"page_num":"0","top":"0.006976744645528443","word_num":"0","block_num":"0","conf":"1","par_num":"0","text":"iTerm2","line_num":"0","left":"0.033430232229750306","width":"0.03633720874786377","height":"0.013953487608167836","level":"0"},{"text":"Shell Edit View","word_num":"0","line_num":"0","conf":"0.5","height":"0.016666666666666607","level":"0","left":"0.082848839092899","block_num":"0","page_num":"0","width":"0.08720929887559678","par_num":"0","top":"0.004444444444444473"},{"top":"0.0069767444517300214","par_num":"0","height":"0.013953487608167836","level":"0","text":"Session","page_num":"0","word_num":"0","conf":"1","width":"0.034883719020419646","left":"0.18168604790258086","block_num":"0","line_num":"0"},{"block_num":"0","top":"0.0069767444517300214","width":"0.03197674221462676","par_num":"0","word_num":"0","level":"0","conf":"1","page_num":"0","text":"Scripts","left":"0.22965116417611686","line_num":"0","height":"0.013953487608167836"},{"conf":"1","word_num":"0","page_num":"0","par_num":"0","line_num":"0","block_num":"0","height":"0.014200344085693373","text":"Profiles","level":"0","left":"0.27323585639556563","top":"0.006853316216056116","width":"0.033470148510403086"},{"top":"0.006976744645528443","page_num":"0","left":"0.31831395315998284","conf":"1","line_num":"0","height":"0.013953487608167836","par_num":"0","width":"0.03633720874786378","text":"Window","word_num":"0","level":"0","block_num":"0"},{"word_num":"0","conf":"1","left":"0.36773255878967304","par_num":"0","line_num":"0","level":"0","top":"0.006976744474985863","width":"0.02034883631600276","height":"0.013953487608167836","page_num":"0","block_num":"0","text":"Help"},{"page_num":"0","level":"0","left":"0.47529069803997187","par_num":"0","width":"0.049418603049384224","top":"0.03666666662527551","word_num":"0","line_num":"0","block_num":"0","text":"APP (-zsh)","conf":"1","height":"0.014496124055650483"},{"line_num":"0","left":"0.050872094365759145","height":"0.013953487608167947","block_num":"0","width":"0.03488371902041965","par_num":"0","top":"0.06511627921917185","word_num":"0","conf":"1","text":"DOCKER","page_num":"0","level":"0"},{"par_num":"0","left":"0.14680232584832487","height":"0.011627907223171752","conf":"0.30000001192092896","line_num":"0","level":"0","text":"881","top":"0.06744186045818157","word_num":"0","width":"0.01017441815800138","page_num":"0","block_num":"0"},{"width":"0.05087209277682833","word_num":"0","par_num":"0","page_num":"0","block_num":"0","top":"0.0674418609589309","level":"0","conf":"1","line_num":"0","text":"DEV (docker)","height":"0.011627906163533597","left":"0.2107558135640147"},{"width":"0.014534884028964579","page_num":"0","word_num":"0","height":"0.011627907223171752","conf":"0.30000001192092896","block_num":"0","left":"0.30813953472970373","top":"0.06744186045818157","level":"0","par_num":"0","text":"₴82","line_num":"0"},{"word_num":"0","conf":"0.5","top":"0.0674418609589309","block_num":"0","left":"0.3793604658741403","par_num":"0","height":"0.011627906163533597","line_num":"0","text":"APP (-zsh)","width":"0.040697672632005466","level":"0","page_num":"0"},{"page_num":"0","word_num":"0","height":"0.013953487608167947","conf":"0.30000001192092896","level":"0","text":"83","block_num":"0","left":"0.47238372128431727","line_num":"0","top":"0.06511627921917185","par_num":"0","width":"0.013081394301520444"},{"word_num":"0","page_num":"0","left":"0.5348576004786272","text":"screenpipe\"","par_num":"0","block_num":"0","conf":"0.5","level":"0","line_num":"0","top":"0.0648826047097042","width":"0.048017358779907204","height":"0.014420836766560807"},{"text":"front-end/src/components/AiReports/Manage/__tests_","width":"0.2790697521633572","word_num":"0","left":"0.008720942522972407","block_num":"0","level":"0","par_num":"0","conf":"1","top":"0.09069767473716484","page_num":"0","height":"0.016279069052802186","line_num":"0"},{"line_num":"0","top":"0.0906976745315402","word_num":"0","conf":"1","par_num":"0","left":"0.2863372117089401","block_num":"0","level":"0","height":"0.01860465155707458","page_num":"0","text":"_/ManageAiReports.spec.js","width":"0.14098837110731333"},{"line_num":"0","conf":"1","level":"0","page_num":"0","top":"0.1093023258515059","left":"0.00872094763883828","height":"0.016279069052802186","text":"front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue","block_num":"0","width":"0.44622090657552077","word_num":"0","par_num":"0"},{"conf":"1","text":"front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js","level":"0","height":"0.016279069052802186","line_num":"0","word_num":"0","left":"0.008720945815069964","par_num":"0","top":"0.13023255838057568","width":"0.5232557932535807","page_num":"0","block_num":"0"},{"par_num":"0","line_num":"0","conf":"1","top":"0.1488372093377417","block_num":"0","word_num":"0","page_num":"0","width":"0.6002906799316406","left":"0.00872092909910249","height":"0.018604651557074692","level":"0","text":".../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html"},{"level":"0","block_num":"0","par_num":"0","conf":"1","height":"0.018604651557074692","line_num":"0","width":"0.26308138105604384","left":"0.008720941327598099","top":"0.16976744197340066","text":"front-end/src/components/AiReports/constants.js","word_num":"0","page_num":"0"},{"text":"front-end/src/components/Settings/shared/FormElements/DateFieldDisplay.vue","left":"0.008720944627202777","conf":"1","block_num":"0","level":"0","line_num":"0","width":"0.4127906799316406","word_num":"0","page_num":"0","par_num":"0","height":"0.01860465155707458","top":"0.18837209251603637"},{"line_num":"0","top":"0.20930232526797432","height":"0.01860465155707458","level":"0","block_num":"0","conf":"1","page_num":"0","width":"0.4069767422146267","par_num":"0","word_num":"0","left":"0.008720936305477206","text":"front-end/src/components/Settings/shared/FormElements/DatePickerField.vue"},{"left":"0.00872093223776006","page_num":"0","height":"0.016279069052802186","conf":"1","block_num":"0","top":"0.2302325584096454","text":"front-end/src/components/Settings/shared/FormElements/Field.less","width":"0.35755814446343315","par_num":"0","level":"0","word_num":"0","line_num":"0"},{"word_num":"0","top":"0.2488372089889045","line_num":"0","left":"0.008720934875787774","conf":"1","par_num":"0","height":"0.018604651557074692","level":"0","page_num":"0","block_num":"0","width":"0.35174418555365666","text":"front-end/src/components/Settings/shared/FormElements/Field.vue"},{"left":"0.008720937779436768","par_num":"0","text":"front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","word_num":"0","top":"0.26976744154704413","width":"0.4854651133219401","conf":"1","block_num":"0","height":"0.01860465155707458","level":"0","line_num":"0","page_num":"0"},{"width":"0.3793604532877604","height":"0.016279069052802075","text":"front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js","word_num":"0","page_num":"0","level":"0","block_num":"0","conf":"1","left":"0.008720939940422036","par_num":"0","line_num":"0","top":"0.29069767465964547"},{"width":"0.3851743910047743","height":"0.01860465155707458","level":"0","line_num":"0","page_num":"0","block_num":"0","conf":"1","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/SavedSearchModal.vue","top":"0.3093023252679743","word_num":"0","left":"0.008720948847176679"},{"conf":"1","line_num":"0","height":"0.011627906163533597","width":"0.27180230882432727","level":"0","left":"0.01017442358565618","page_num":"0","par_num":"0","top":"0.3325581400286983","text":"front-end/src/components/shared/SavedSearchModal/","word_num":"0","block_num":"0"},{"left":"0.2805232549080388","level":"0","top":"0.3325581400718851","par_num":"0","block_num":"0","line_num":"0","conf":"0.5","text":"__mocks__/nudges.js","width":"0.1061046494377984","word_num":"0","height":"0.013953487608167836","page_num":"0"},{"page_num":"0","height":"0.01860465155707458","top":"0.3488372088726255","block_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests__/SavedSearchModal.spec.js","left":"0.008720944988524652","conf":"1","line_num":"0","width":"0.4622092776828342","word_num":"0","level":"0"},{"line_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_.","word_num":"0","page_num":"0","conf":"1","top":"0.3697674416633232","block_num":"0","width":"0.3183139377170139","height":"0.01860465155707458","level":"0","left":"0.008720943423469624"},{"level":"0","page_num":"0","block_num":"0","par_num":"0","text":"front-end/src/components/shared/SavedSearchModal/__tests_","word_num":"0","height":"0.020930230882432732","left":"0.008720939432180469","conf":"1","top":"0.3883720938223495","line_num":"0","width":"0.31540696885850694"},{"block_num":"0","level":"0","conf":"1","par_num":"0","line_num":"0","text":"/__snapshots__/saved-search-modal-edit.output.html","top":"0.36976744175634635","word_num":"0","height":"0.018604651557074692","page_num":"0","width":"0.2790697521633572","left":"0.32994186531367026"},{"left":"0.329941858342544","conf":"1","line_num":"0","height":"0.01860465155707458","page_num":"0","width":"0.25145348442925347","block_num":"0","word_num":"0","text":"/__snapshots__/saved-search-modal.output.html","par_num":"0","top":"0.3883720925160363","level":"0"},{"text":"front-end/src/components/shared/SavedSearchModal/config.js","conf":"1","page_num":"0","left":"0.008720939459133782","line_num":"0","word_num":"0","level":"0","par_num":"0","height":"0.018604651557074692","block_num":"0","top":"0.4093023252679743","width":"0.32412789662679037"},{"level":"0","width":"0.36773253546820744","text":"front-end/src/components/shared/SavedSearchModal/useSavedSearch.js","line_num":"0","conf":"1","word_num":"0","height":"0.016279069052802075","top":"0.4302325583805757","page_num":"0","left":"0.008720945245547382","block_num":"0","par_num":"0"},{"level":"0","left":"0.008720939802207934","page_num":"0","par_num":"0","top":"0.4488372090276642","word_num":"0","line_num":"0","conf":"1","width":"0.4854651133219401","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","height":"0.01860465155707458","block_num":"0"},{"top":"0.4697674423340641","width":"0.49709298875596786","left":"0.007267450825504717","level":"0","text":"resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","conf":"1","word_num":"0","par_num":"0","height":"0.016279069052802075","block_num":"0","page_num":"0","line_num":"0"},{"page_num":"0","width":"0.245639525519477","word_num":"0","par_num":"0","height":"0.016279069052802186","block_num":"0","text":"tests/Feature/NudgeProcessingFeatureTest.php","conf":"1","line_num":"0","top":"0.49069767467902525","left":"0.008720936961676194","level":"0"},{"top":"0.509302325306734","level":"0","text":"tests/Feature/SavedSearches/SavedSearchCRUDFeatureTest.php","width":"0.3241278966267904","conf":"1","left":"0.008720940809666643","block_num":"0","line_num":"0","height":"0.01860465155707458","word_num":"0","page_num":"0","par_num":"0"},{"height":"0.016279069052802186","line_num":"0","level":"0","left":"0.008720944263830709","text":"tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","conf":"1","page_num":"0","top":"0.5302325584096454","par_num":"0","width":"0.4127906799316406","word_num":"0","block_num":"0"},{"line_num":"0","block_num":"0","par_num":"0","text":"tests/Unit/Component/Nudge/Http/Transformer/NudgeTransformerTest.php","top":"0.548837209182703","page_num":"0","word_num":"0","level":"0","conf":"1","width":"0.3808139377170139","height":"0.018604651557074692","left":"0.007267443399245208"},{"block_num":"0","level":"0","width":"0.26308138105604384","height":"0.018604651557074692","conf":"1","top":"0.5697674415470441","text":"tests/Unit/Component/Nudge/NudgeFactoryTest.php","left":"0.00872094066747218","word_num":"0","page_num":"0","line_num":"0","par_num":"0"},{"page_num":"0","left":"0.008720935081112163","par_num":"0","width":"0.2790697521633572","level":"0","word_num":"0","conf":"1","height":"0.016279069052802297","text":"tests/Unit/Component/Nudge/NudgeRunFactoryTest.php","top":"0.5906976748922036","line_num":"0","block_num":"0"},{"line_num":"0","top":"0.6093023252912301","block_num":"0","width":"0.40697674221462665","height":"0.018604651557074692","word_num":"0","level":"0","text":"tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","conf":"1","par_num":"0","left":"0.008720935288035392","page_num":"0"},{"text":"tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","top":"0.630232558174951","left":"0.008720932494423177","block_num":"0","line_num":"0","level":"0","page_num":"0","par_num":"0","height":"0.018604651557074692","width":"0.3735465155707466","conf":"1","word_num":"0"},{"top":"0.6488372087951062","block_num":"0","word_num":"0","line_num":"0","text":"tests/Unit/VO/Repository/OnDemandActivitySearch/CriteriaTest.php","width":"0.3575581444634332","height":"0.018604651557074692","conf":"1","level":"0","page_num":"0","par_num":"0","left":"0.008720925345802873"},{"top":"0.6674418601201179","text":"54 files changed, 2219 insertions(+), 1753 deletions(-)","page_num":"0","conf":"1","block_num":"0","left":"0.008720930055878897","line_num":"0","height":"0.023669251335991737","level":"0","par_num":"0","width":"0.30668604109022357","word_num":"0"},{"block_num":"0","page_num":"0","left":"0.30000000013888894","text":"rtarest. php","width":"0.06666666666666665","conf":"0.30000001192092896","height":"0.053333333333333344","par_num":"0","level":"0","top":"0.64","word_num":"0","line_num":"0"},{"height":"0.016279069052802186","page_num":"0","line_num":"0","conf":"1","left":"0.008720943324406762","block_num":"0","text":"create mode 100644 app/Component/ActivitySearch/FilterDefinition/IndexedAtFrom.php","level":"0","top":"0.6906976746596454","word_num":"0","width":"0.45784882439507385","par_num":"0"},{"level":"0","word_num":"0","text":"create mode 100644 app/Console/Commands/SendNudgeExpirationWarningsCommand.php","par_num":"0","height":"0.019018088446723147","width":"0.43459303114149306","block_num":"0","page_num":"0","top":"0.7088888885350363","conf":"1","line_num":"0","left":"0.008720919944754178"},{"block_num":"0","top":"0.6866666667777778","level":"0","conf":"0.30000001192092896","par_num":"0","left":"0.3208333309027779","line_num":"0","width":"0.14583333333333337","height":"0.046666666666666634","text":"fonitrn/esComedad.ron,.php","page_num":"0","word_num":"0"},{"top":"0.73","width":"0.4186046600341797","word_num":"0","level":"0","block_num":"0","line_num":"0","height":"0.01666666666666672","par_num":"0","page_num":"0","left":"0.008720931874829398","text":"create mode 100644 app/Notifications/NudgeExpirationWarningNotification.php","conf":"1"},{"word_num":"0","line_num":"0","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_120000_add_default_to_expires_in_column.php","width":"0.5188953399658203","conf":"1","height":"0.0189405674404568","level":"0","page_num":"0","block_num":"0","left":"0.008720944031500208","top":"0.7488372099361025"},{"text":"create mode 100644 database/migrations/2026_04_16_121204_migrate_existing_nudges_expiration_data.php","level":"0","par_num":"0","left":"0.00872094292957427","height":"0.01912144766913515","word_num":"0","line_num":"0","top":"0.769767441714528","block_num":"0","conf":"1","page_num":"0","width":"0.556686019897461"},{"height":"0.018604651557074692","par_num":"0","text":"create mode 100644 database/migrations/2026_04_16_121229_finalize_nudges_expiration_schema.php","width":"0.5232557932535807","word_num":"0","left":"0.008720950932465657","level":"0","conf":"1","line_num":"0","page_num":"0","block_num":"0","top":"0.7883720927330905"},{"line_num":"0","level":"0","page_num":"0","text":"create mode 100644 database/migrations/2026_04_21_170000_add_last_run_at_to_nudges_table.php","left":"0.008720932168461499","block_num":"0","conf":"1","par_num":"0","top":"0.8088888884187573","width":"0.5130814022488065","word_num":"0","height":"0.019018088446723147"},{"word_num":"0","height":"0.018888888888888955","par_num":"0","left":"0.00872093066119501","top":"0.83","text":"create mode 100644 front-end/src/components/Settings/shared/FormElements/__tests__/DatePickerField.spec.js","conf":"1","line_num":"0","width":"0.5901162889268663","block_num":"0","page_num":"0","level":"0"},{"left":"0.00872093066119501","page_num":"0","block_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.email.mustache","word_num":"0","height":"0.0189405674404568","conf":"1","width":"0.5901162889268663","level":"0","par_num":"0","line_num":"0","top":"0.8488372098663348"},{"level":"0","page_num":"0","left":"0.00872095191817562","word_num":"0","conf":"1","block_num":"0","line_num":"0","text":"create mode 100644 resources/views/emails/postmark-templates/email/nudge-expiration-warning.subject.mustache","top":"0.8697674421015059","width":"0.6017441643608942","par_num":"0","height":"0.016279069052802186"},{"word_num":"0","width":"0.5188953399658204","text":"create mode 100644 tests/Unit/Component/ActivitySearch/FilterDefinition/IndexedAtFromTest.php","block_num":"0","height":"0.016279069052802186","par_num":"0","left":"0.008720941480167237","line_num":"0","conf":"1","page_num":"0","top":"0.8906976746596453","level":"0"},{"page_num":"0","conf":"1","width":"0.5130813598632812","text":"create mode 100644 tests/Unit/Component/Nudge/Repository/NudgeRepositoryBoundedDedupTest.php","line_num":"0","word_num":"0","level":"0","left":"0.008720965718114076","block_num":"0","height":"0.019018088446723036","top":"0.9088888883993775","par_num":"0"},{"text":"create mode 100644 tests/Unit/Notifications/NudgeExpirationWarningNotificationTest.php","level":"0","line_num":"0","block_num":"0","width":"0.4796511332194011","page_num":"0","word_num":"0","top":"0.93","par_num":"0","height":"0.016666666666666607","conf":"1","left":"0.008720959803854693"},{"text":"create mode 100644 tests/Unit/V0/Repository/0nDemandActivitySearch/CriteriaTest.php","width":"0.4636627621120876","block_num":"0","page_num":"0","level":"0","word_num":"0","top":"0.9488372099361024","height":"0.0189405674404568","conf":"1","par_num":"0","line_num":"0","left":"0.008720958818144888"},{"par_num":"0","height":"0.02144702911376961","line_num":"0","page_num":"0","width":"0.5348837110731336","block_num":"0","conf":"1","top":"0.9674418601201177","word_num":"0","level":"0","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ O","left":"0.004360485232488721"},{"block_num":"0","conf":"0.30000001192092896","text":"O 84","width":"0.024709301524692084","level":"0","page_num":"0","word_num":"0","top":"0.06511627927731145","height":"0.013953487608167836","par_num":"0","line_num":"0","left":"0.6250000001737047"},{"par_num":"0","line_num":"0","top":"0.06744186098800065","left":"0.7194767443728021","height":"0.011627906163533597","word_num":"0","conf":"0.5","block_num":"0","page_num":"0","text":"-zsh","width":"0.017441859510209823","level":"0"},{"width":"0.01453488270441694","par_num":"0","block_num":"0","top":"0.0674418609589309","left":"0.7994186049777334","level":"0","height":"0.011627906163533597","line_num":"0","conf":"0.30000001192092896","page_num":"0","text":"885","word_num":"0"},{"width":"0.04218044016096334","page_num":"0","block_num":"0","level":"0","left":"0.8168458269716159","par_num":"0","word_num":"0","text":"100% <7","height":"0.014181681738959395","conf":"0.30000001192092896","line_num":"0","top":"0.0068626474102171375"},{"conf":"1","height":"0.016666666666666607","text":"Mon 27 Apr 18:59:57","left":"0.8909883704520025","level":"0","top":"0.004444444444444473","page_num":"0","block_num":"0","line_num":"0","par_num":"0","width":"0.09738372166951503","word_num":"0"},{"line_num":"0","top":"0.034883721195916095","block_num":"0","height":"0.013953487608167836","width":"0.020348836316002705","word_num":"0","left":"0.9723837216312426","page_num":"0","text":"181","par_num":"0","level":"0","conf":"0.30000001192092896"},{"level":"0","height":"0.011627906163533597","block_num":"0","left":"0.8372093056452314","line_num":"0","page_num":"0","conf":"1","text":"ec2-user@ip-10-30-95-134:...","word_num":"0","width":"0.11046511332194009","top":"0.06744186083296189","par_num":"0"},{"level":"0","left":"0.9534883728710178","block_num":"0","height":"0.013953487608167836","top":"0.06511627933545094","word_num":"0","width":"0.024709301524692084","text":"• ₴6|","page_num":"0","par_num":"0","conf":"0.30000001192092896","line_num":"0"},{"line_num":"0","conf":"1","level":"0","par_num":"0","text":"66","width":"0.014534884028964523","block_num":"0","top":"0.09069767487282365","page_num":"0","word_num":"0","height":"0.016279069052802297","left":"0.6511627904225332"},{"top":"0.09302325610427975","width":"0.024709301524692084","word_num":"0","height":"0.011627906163533486","line_num":"0","level":"0","page_num":"0","conf":"1","text":"++++","left":"0.668604651975057","par_num":"0","block_num":"0"},{"text":"23 +-","height":"0.01669250594245064","top":"0.1088888889538393","width":"0.03052325513627796","page_num":"0","conf":"1","word_num":"0","block_num":"0","line_num":"0","left":"0.6511627914915763","level":"0","par_num":"0"},{"text":"20","top":"0.13023255829336633","block_num":"0","conf":"1","left":"0.6511627910605823","word_num":"0","level":"0","line_num":"0","par_num":"0","width":"0.01453488270441694","page_num":"0","height":"0.016279069052802186"},{"top":"0.13255813982521003","par_num":"0","page_num":"0","text":"+-","word_num":"0","height":"0.011627906163533486","line_num":"0","block_num":"0","conf":"0.5","width":"0.013081394301520444","level":"0","left":"0.6686046519044723"},{"height":"0.013953487906976814","left":"0.658430232751938","page_num":"0","par_num":"0","top":"0.15116279116279063","word_num":"0","block_num":"0","line_num":"0","conf":"1","level":"0","width":"0.007267441618217019","text":"4"},{"text":"+-","word_num":"0","height":"0.011627906163533486","left":"0.6686046510880266","width":"0.01162790722317164","top":"0.15348837269342708","level":"0","line_num":"0","page_num":"0","block_num":"0","par_num":"0","conf":"0.30000001192092896"},{"width":"0.01889534791310632","level":"0","block_num":"0","text":"7 +","page_num":"0","word_num":"0","height":"0.013953487608167947","line_num":"0","par_num":"0","conf":"0.30000001192092896","top":"0.16976744216490824","left":"0.6584302333351134"},{"level":"0","left":"0.6584302333351134","line_num":"0","par_num":"0","text":"1 +","block_num":"0","top":"0.19069767472304788","conf":"0.5","height":"0.013953487608167836","page_num":"0","word_num":"0","width":"0.01889534791310632"},{"level":"0","text":"24","line_num":"0","par_num":"0","width":"0.015988371107313437","height":"0.016279069052802186","word_num":"0","top":"0.20930232582243613","page_num":"0","block_num":"0","conf":"1","left":"0.6511627914570022"},{"conf":"0.5","left":"0.6700581396855341","page_num":"0","top":"0.21395348820707683","block_num":"0","word_num":"0","height":"0.009302325778537401","par_num":"0","text":"+-","width":"0.010174418158001464","level":"0","line_num":"0"},{"line_num":"0","height":"0.013953487608167947","word_num":"0","left":"0.6511627910242451","text":"10","top":"0.23023255863777647","level":"0","width":"0.01453488270441694","par_num":"0","block_num":"0","conf":"1","page_num":"0"},{"conf":"0.5","word_num":"0","height":"0.01671834627787272","text":"5 +","page_num":"0","par_num":"0","line_num":"0","block_num":"0","level":"0","top":"0.2488372092900042","width":"0.01889534791310632","left":"0.6584302327537183"},{"level":"0","word_num":"0","par_num":"0","width":"0.01889534791310621","block_num":"0","left":"0.646802325807255","text":"170","line_num":"0","top":"0.26976744235870675","height":"0.013953487608167836","conf":"1","page_num":"0"},{"par_num":"0","word_num":"0","page_num":"0","height":"0.013953487608167836","level":"0","text":"18","width":"0.01453488270441694","line_num":"0","left":"0.651162790963683","conf":"1","top":"0.2906976748780866","block_num":"0"},{"level":"0","conf":"1","block_num":"0","left":"0.651162791205931","line_num":"0","par_num":"0","page_num":"0","height":"0.01860465155707458","top":"0.3093023256168115","word_num":"0","width":"0.01453488270441694","text":"16"},{"height":"0.011627906163533486","top":"0.31395348897249686","level":"0","conf":"0.30000001192092896","left":"0.6686046517106738","page_num":"0","line_num":"0","par_num":"0","width":"0.013081394301520444","block_num":"0","text":"+-","word_num":"0"},{"left":"0.6482558143219299","line_num":"0","word_num":"0","height":"0.01860465155707458","page_num":"0","par_num":"0","conf":"1","text":"62","block_num":"0","top":"0.3488372088726255","level":"0","width":"0.017441859510209934"},{"height":"0.013953487906976814","word_num":"0","conf":"1","left":"0.6366279070251938","page_num":"0","width":"0.008720929941860467","text":"-","block_num":"0","par_num":"0","level":"0","line_num":"0","top":"0.36976744186046506"},{"text":"942","top":"0.36976744235870673","height":"0.013953487608167836","word_num":"0","par_num":"0","level":"0","width":"0.01889534791310621","conf":"1","line_num":"0","left":"0.646802325807255","block_num":"0","page_num":"0"},{"text":"942","width":"0.01889534791310621","height":"0.013953487608167947","page_num":"0","level":"0","conf":"1","block_num":"0","left":"0.646802325807255","par_num":"0","top":"0.39069767491684626","word_num":"0","line_num":"0"},{"text":"21","level":"0","conf":"1","left":"0.6511627910605823","line_num":"0","width":"0.01453488270441694","height":"0.016279069052802186","par_num":"0","word_num":"0","page_num":"0","block_num":"0","top":"0.4093023256673973"},{"line_num":"0","text":"33","left":"0.6526162789947422","width":"0.013081395626068137","word_num":"0","height":"0.013953488667805991","block_num":"0","conf":"1","level":"0","par_num":"0","page_num":"0","top":"0.4302325580788877"},{"left":"0.6700581403030346","word_num":"0","height":"0.011627906163533486","conf":"1","level":"0","top":"0.3534883723833495","width":"0.017441859510209823","line_num":"0","block_num":"0","text":"+++","par_num":"0","page_num":"0"},{"line_num":"0","conf":"0.30000001192092896","par_num":"0","text":"APP","height":"0.08372093200683584","level":"0","word_num":"0","width":"0.1395348866780599","top":"0.14651162689461428","page_num":"0","block_num":"0","left":"0.8517441851046192"},{"height":"0.0813953484429254","word_num":"0","width":"0.013081399599711108","par_num":"0","top":"0.4511627900808629","page_num":"0","level":"0","left":"0.6686046489065398","line_num":"0","block_num":"0","text":"++++","conf":"0.30000001192092896"},{"page_num":"0","par_num":"0","text":"++","word_num":"0","height":"0.013953488667805991","top":"0.5325581392707482","block_num":"0","conf":"1","line_num":"0","width":"0.011627907223171752","left":"0.6700581393147707","level":"0"},{"line_num":"0","conf":"0.30000001192092896","page_num":"0","width":"0.013081395626068137","left":"0.6700581393235938","level":"0","par_num":"0","block_num":"0","text":"++.","top":"0.6116279067372514","word_num":"0","height":"0.01162790722317164"}]...
|
Slack
|
AppleNative
|
* Galya Dimitrova (DM) - Jiminny Inc - 3 new items * Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
3844
|
NULL
|
NULL
|
|
89241
|
G.MA100% C42- & Mon 27 Apr 18:59:57+ CreateCS G.MA100% C42- & Mon 27 Apr 18:59:57+ CreateCSK ROV CE ®inlaalllbltodtdntnd* Improve StoryLabelsNoneNoneNoneNoneNoneSprintDays...
|
[{"top":"-0.0000000001606372812545942& [{"top":"-0.0000000001606372812545942","width":"0.06104650903255382","word_num":"0","line_num":"0","text":"G.MA","level":"0","height":"0.020905923615232136","par_num":"0","page_num":"0","block_num":"0","left":"0.8343023268046251","conf":"0.30000001192092896"},{"conf":"0.30000001192092896","line_num":"0","left":"0.8982558136437085","width":"0.09738372234587966","par_num":"0","top":"0","word_num":"0","height":"0.01754385964912286","block_num":"0","level":"0","page_num":"0","text":"100% C42- & Mon 27 Apr 18:59:57"},{"height":"0.017421602252187585","block_num":"0","level":"0","line_num":"0","width":"0.024709303328331433","conf":"1","page_num":"0","left":"0.7950581389608343","text":"+ Create","top":"0.06271777024440561","par_num":"0","word_num":"0"},{"top":"0.05901116427432218","par_num":"0","conf":"0.30000001192092896","page_num":"0","width":"0.07994186117293989","level":"0","line_num":"0","block_num":"0","text":"CSK ROV CE ®","left":"0.9156976745667611","height":"0.02472089314194581","word_num":"0"},{"level":"0","page_num":"0","width":"0.050000028407320096","conf":"0.30000001192092896","left":"0.8708333187725305","top":"0.13999998419409687","block_num":"0","line_num":"0","par_num":"0","text":"inlaalllbltodtdntnd","word_num":"0","height":"0.8500000194689493"},{"left":"0.9200581401847882","word_num":"0","conf":"1","line_num":"0","par_num":"0","block_num":"0","height":"0.010653018190910135","level":"0","page_num":"0","text":"* Improve Story","top":"0.1531100479103692","width":"0.04215116196490354"},{"block_num":"0","text":"Labels","top":"0.5853658538469819","conf":"1","line_num":"0","width":"0.017441859904755885","word_num":"0","height":"0.017421602252187474","level":"0","page_num":"0","left":"0.877906976945085","par_num":"0"},{"conf":"0.5","width":"0.014534883042599311","left":"0.877906977010677","top":"0.6097560974011944","word_num":"0","line_num":"0","block_num":"0","par_num":"0","page_num":"0","text":"None","height":"0.013937282410154683","level":"0"},{"par_num":"0","height":"0.013937282410154683","word_num":"0","conf":"1","block_num":"0","line_num":"0","text":"None","left":"0.877906977010677","level":"0","page_num":"0","top":"0.6655052263210551","width":"0.014534883042599311"},{"height":"0.013937282410154683","left":"0.8779069770026021","level":"0","page_num":"0","block_num":"0","par_num":"0","top":"0.7212543552331728","width":"0.0145348830425992","word_num":"0","text":"None","conf":"1","line_num":"0"},{"word_num":"0","block_num":"0","page_num":"0","text":"None","par_num":"0","height":"0.017421602252187585","top":"0.7770034844793069","level":"0","conf":"1","line_num":"0","width":"0.014534883042599311","left":"0.8779069769925084"},{"conf":"1","line_num":"0","left":"0.8779069770401696","page_num":"0","top":"0.8954703831914994","word_num":"0","height":"0.006968641205077342","text":"None","level":"0","block_num":"0","width":"0.013081394611521024","par_num":"0"},{"block_num":"0","word_num":"0","left":"0.877906976973917","level":"0","page_num":"0","par_num":"0","text":"Sprint","width":"0.01598837147367771","conf":"1","height":"0.017421602252187474","line_num":"0","top":"0.9233449479157182"},{"conf":"1","par_num":"0","height":"0.017421602252187474","text":"Days","word_num":"0","block_num":"0","line_num":"0","left":"0.8764534885659097","page_num":"0","top":"0.9790940767049167","width":"0.014534883042599311","level":"0"}]...
|
Slack
|
AppleNative
|
Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Galya Dimitrova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
129
|
NULL
|
NULL
|
|
89266
|
ChatT New chdm Proiect80 Artifacts• CustomizeBulga ChatT New chdm Proiect80 Artifacts• CustomizeBulgarian cicizenship application procesRecenteHubSpot rate limit handling with executeLintitlodiScreen pipe. Is there ability…SM8 mount access inconsistency betweaWhat is the best switch can..Permission denied on screenpipe volumescreenpipe sync database attachmenteLast swimming outing with DaniDefinition of incarceratedChromecast remote volume buttons notSalesforce APl errors with OrganizationDaily activity summary from screenpipeMacBook unexpected restarts and kanjiSecurity patch review and testing guidarTracking location history from last weekScreenpipe WAL processing when stoppReviewing recent conversation highlightMac allases not reco-nizedBoosteroid still recording despite ignoreVIewWindowmeltHubSpot rate limit handling with executeRequestif (lempty($response['Retry-After'])) {return (int) Sresponsel'Retry-After'JL0J;// Fall back to the interval windowif (lempty($response['X-HubSpot-RateLimit-Interval-Milliseconds'])) {return (int) ceil((int) §responsel'X-HubSpot-RateLimit-Interval-Milliseconds'Jsare deraulcreturn 1o:Proactive throttling improvementRather than just reacting to 429s, your rateLimiter->canMakeRequest Should also read X-Hubspot-ratel1mit-remarning rom successtu responses ane store 1t. so vou caipreemptively back oft before hitting the wall:Arrer a successtu saolalo, caouure neaders and sunc vour local bucket:$remaining = $response->getHeader ('X-HubSpot-RateLimit-Remaining'):$this->rateLimiter->syncRemaining($this->config, (int) $remaining[0]);Limits for vour contextFor privately distributed apps (private apps / single-account installs):• Free/Starter: 100 rea / 10 sec der app. 250k/dav per account• Professional: 190 req / 10 sec per app, 625k/day per account• Enterprise: 190 rea / 10 sec der app. 1M/day der accountThe dailv limit resets at midnight in the account's confioured timezone. hubspotSo your executeRequest flow is correct — just make sure parseRetryAfter properly fallsback to the interval neader, and deal v sunc remaining countsfrom success u responses toavoid hittino 420c in the firet niaceReplv…Sonnet 4.6 v^ Lukas Kovali!Caudo ic Aland can make mictakac Plence double-chock recnoncod4 HS_local [jiminny@localhost]A console [EU]« console [STAGING]Go jiminny* 037 A1 A35 Y63 ^ VsU l.n<»>I. on U.1d = cp.user 1d WHERE U.team_ 1d = 7115ovider_id, '@', -1)) AS calendar_domain0cstatus = lactivel AND c.calendan nroviden id LTKE 1%0%.EX(c.calendar_provider_id, '@', -1))1<->1..n: on c.user id = u.id$0100% 5Mon 27 Apr 19:01:35CascadeOptimizing Userlrans+0 •lo al **what will happen if the user have some result removed but the cache shows it has it. I don't want to add migration.Short answer: with Cache::driver('array'), Staleness is a non-issueThe array driver lives only in PHP's memory for the current request. It's destroyed the moment the response is sent. So:• Stale window: milliseconds - the duration of one HTTP requesttranstormer reads true trom cache. User sees hasgequeries and aets false. Comoletelv fineeratedAiReports: true for ~50ms until their next request, which re-Thic ic not Podic Itc not charod acroce ronuocte workore or corvorc Think of it ac a ctotze varinhlo cconod to tho roauoctWhat this buys you•Deduplicates the query it Userlranstormer::transtorm() is called multiple times tor the same user in one request (Fractalincludes. embedded resources. etc.•Lero staleness risk bevond the request itselt.• No migration, no schema change, no write-path coupling.What it does Not fiy• The first call ner requect still runs the querv. So lucers/current stilll navs the cost once ner nade load. It onlv helns if transQuick check — is that happenina?49485* # team 565 crm 55772382: # team 563 crm 53700589: # team so5 crm 558175: # team so5 crm 5520297: # team 563 crm 537ty 1d = 580812757iquration id = 537 and provider = 'aircall'ted at desc.unation id = 537 and id = 35957759•unation id = 537 and id = 19003658÷where id = 1976Id = 583;.d = 87714;here activity_search_id = 87714;hin(199274472.202d-1140.0d04-72££5£05kkaQt) = muid-CeASLA2001011) = uid.contirming the scopeThe query at lline 139 onlv tires when withsel fVisibilitv is true or autho-susero-sid zz= Suser-sid (lline 69). Lookina atthe usages• Most UserTransformer uses (comment authors, activity organizers, coaches, participants...) don't take the self-visibilitybranch — so the auerv doesn't run for them.•It runs for the authenticated user on endpoints like /users/current, PartnerController::me, KioskProfileController, SeaFor SearchController returning a user collection that includes yourself, transform() may get called for the same user id onlyonce (vou appear in the list once). So honestiv, the per-request dedupe benefit is marainal here tooFinal recommendationGiven• You don't want a migration•once()) I arrav cache provides oniv marainal benefit because transformo isn't called multiole times per reauest for thesame self-user in practice• The auery is already exists() witha team id -indexed subauervJust leave it. The honest answer is the code is fine as-is until you see it in slow query logs. Adding Cache::driver('array') isIf you want the belt-and-suspenders version anyway, here it is - staleness is bounded to the current request and cannot crossAsk anvthina (&+b)<> Code Claude Qnus 4.7 MediumPa 4 sp...
|
[{"height":"0.006968641205077342", [{"height":"0.006968641205077342","block_num":"0","conf":"0.30000001192092896","top":"0.06968641107574236","level":"0","width":"0.017441859904755937","word_num":"0","left":"0.00726744206797087","text":"Chat","par_num":"0","line_num":"0","page_num":"0"},{"line_num":"0","page_num":"0","text":"T New chd","word_num":"0","left":"0.007267443113104044","par_num":"0","height":"0.006968640444571461","conf":"0.30000001192092896","level":"0","width":"0.02616278668667408","block_num":"0","top":"0.10104529650245297"},{"par_num":"0","text":"m Proiect","left":"0.007267443819557237","width":"0.023255812360885298","word_num":"0","top":"0.11846689894147733","conf":"0.30000001192092896","page_num":"0","block_num":"0","level":"0","line_num":"0","height":"0.006968640444571572"},{"block_num":"0","page_num":"0","text":"80 Artifacts","line_num":"0","top":"0.1393728226143094","left":"0.007267443830874714","word_num":"0","par_num":"0","level":"0","width":"0.026162789223041938","conf":"0.5","height":"0.010547432602877826"},{"line_num":"0","block_num":"0","height":"0.007185368636768663","left":"0.007267445751568973","level":"0","par_num":"0","top":"0.1602787460943993","word_num":"0","conf":"0.30000001192092896","text":"• Customize","width":"0.029069763548830722","page_num":"0"},{"level":"0","left":"0.005813952957723","height":"0.007182590508955311","par_num":"0","block_num":"0","page_num":"0","line_num":"0","text":"Bulgarian cicizenship application proces","top":"0.21929824549679078","conf":"0.5","width":"0.0813953419949146","word_num":"0"},{"text":"Recente","word_num":"0","left":"0.005813955231555403","level":"0","top":"0.26480836270454355","width":"0.015988370205493683","conf":"1","page_num":"0","block_num":"0","line_num":"0","height":"0.006968640444571572","par_num":"0"},{"page_num":"0","conf":"1","left":"0.005813960209219755","height":"0.010680803271571948","width":"0.08430231885707123","word_num":"0","line_num":"0","top":"0.28548644339975193","par_num":"0","text":"HubSpot rate limit handling with execute","block_num":"0","level":"0"},{"word_num":"0","left":"0.005813955317918929","text":"Lintitlodi","top":"0.306620209394439","line_num":"0","par_num":"0","block_num":"0","height":"0.006968640444571461","width":"0.018895347067650326","page_num":"0","level":"0","conf":"0.30000001192092896"},{"text":"Screen pipe. Is there ability…","block_num":"0","left":"0.005813959353578339","level":"0","height":"0.010591889492442497","top":"0.3275261329685757","line_num":"0","width":"0.06540697178942093","conf":"0.5","page_num":"0","par_num":"0","word_num":"0"},{"page_num":"0","line_num":"0","word_num":"0","height":"0.007210375589617124","left":"0.00581395449820229","level":"0","par_num":"0","block_num":"0","conf":"1","text":"SM8 mount access inconsistency betwe","top":"0.3516746413159395","width":"0.08284882788962505"},{"height":"0.006968640444571572","conf":"0.30000001192092896","left":"0.0058139591946427035","par_num":"0","top":"0.3728222999867735","page_num":"0","block_num":"0","text":"aWhat is the best switch can..","line_num":"0","width":"0.06831394865157757","word_num":"0","level":"0"},{"block_num":"0","top":"0.3937282234343914","word_num":"0","line_num":"0","par_num":"0","level":"0","left":"0.005813958833518282","conf":"1","page_num":"0","text":"Permission denied on screenpipe volume","height":"0.010577996571858761","width":"0.0828488329623608"},{"conf":"0.5","text":"screenpipe sync database attachmente","width":"0.08284882788962505","height":"0.007224268510200971","level":"0","par_num":"0","block_num":"0","left":"0.005813954522776372","top":"0.41786283903538746","page_num":"0","word_num":"0","line_num":"0"},{"word_num":"0","block_num":"0","top":"0.4354066985493681","text":"Last swimming outing with Dani","width":"0.0654069667166852","page_num":"0","conf":"1","level":"0","line_num":"0","par_num":"0","height":"0.010586332476310134","left":"0.005813956854237189"},{"left":"0.0058139538809975294","width":"0.05377906434079434","block_num":"0","par_num":"0","height":"0.010758603778942444","text":"Definition of incarcerated","line_num":"0","top":"0.45614035072682557","level":"0","conf":"1","word_num":"0","page_num":"0"},{"height":"0.00720204044567152","width":"0.08284882788962505","word_num":"0","text":"Chromecast remote volume buttons not","block_num":"0","left":"0.005813963338768942","level":"0","par_num":"0","line_num":"0","conf":"1","page_num":"0","top":"0.48083623717426005"},{"par_num":"0","width":"0.08284882788962507","text":"Salesforce APl errors with Organization","left":"0.005813962807491055","word_num":"0","page_num":"0","top":"0.5015948964748529","level":"0","block_num":"0","height":"0.0106002246363881","line_num":"0","conf":"1"},{"block_num":"0","conf":"1","line_num":"0","text":"Daily activity summary from screenpipe","page_num":"0","top":"0.5223285486443381","level":"0","height":"0.011164274322169043","width":"0.08284882788962505","left":"0.005813962805854454","word_num":"0","par_num":"0"},{"height":"0.010672468127626344","level":"0","text":"MacBook unexpected restarts and kanji","conf":"1","top":"0.5435540072342768","left":"0.005813958563533813","word_num":"0","page_num":"0","width":"0.08284883296236079","block_num":"0","par_num":"0","line_num":"0"},{"par_num":"0","block_num":"0","width":"0.08284882788962507","line_num":"0","page_num":"0","conf":"1","height":"0.0071770334928229484","level":"0","text":"Security patch review and testing guidar","left":"0.005813954510684371","top":"0.5677830940988836","word_num":"0"},{"conf":"1","level":"0","line_num":"0","text":"Tracking location history from last week","left":"0.005813960270299965","top":"0.6097560978743086","page_num":"0","par_num":"0","block_num":"0","width":"0.08139534199491459","height":"0.010658575207042498","word_num":"0"},{"width":"0.08284883296236079","height":"0.010486303904410188","page_num":"0","par_num":"0","word_num":"0","level":"0","line_num":"0","conf":"1","block_num":"0","text":"Screenpipe WAL processing when stopp","left":"0.0058139586675645255","top":"0.6306620213543984"},{"level":"0","text":"Reviewing recent conversation highlight","top":"0.651515151624469","width":"0.08284882788962507","par_num":"0","line_num":"0","word_num":"0","block_num":"0","page_num":"0","conf":"1","height":"0.010505753841126397","left":"0.005813954522225305"},{"page_num":"0","top":"0.6759581884885157","conf":"0.5","line_num":"0","left":"0.005813953426321507","text":"Mac allases not reco-nized","word_num":"0","width":"0.05668604120295099","block_num":"0","par_num":"0","height":"0.006968640444571461","level":"0"},{"block_num":"0","top":"0.6968641119944301","line_num":"0","height":"0.007282618320349488","page_num":"0","conf":"1","level":"0","width":"0.08284882788962507","left":"0.005813954510684371","par_num":"0","text":"Boosteroid still recording despite ignore","word_num":"0"},{"par_num":"0","page_num":"0","word_num":"0","width":"0.01162790618044264","left":"0.06686046609582513","block_num":"0","height":"0.006968640444571461","line_num":"0","text":"VIew","top":"0.006968641450188162","level":"0","conf":"0.30000001192092896"},{"text":"Window","width":"0.015988370205493693","height":"0.010452960286604362","block_num":"0","left":"0.0843023257257416","conf":"1","top":"0.003484321424642056","page_num":"0","level":"0","word_num":"0","line_num":"0","par_num":"0"},{"block_num":"0","line_num":"0","height":"0.006968641205077342","conf":"0.30000001192092896","par_num":"0","left":"0.10755813960229939","text":"melt","page_num":"0","top":"0.00696864101186323","word_num":"0","width":"0.00872092995237797","level":"0"},{"left":"0.10465117182723446","top":"0.034843205974365854","text":"HubSpot rate limit handling with executeRequest","par_num":"0","level":"0","width":"0.10901161964903486","word_num":"0","conf":"1","line_num":"0","page_num":"0","block_num":"0","height":"0.010611339429158706"},{"page_num":"0","height":"0.014354066985646008","par_num":"0","text":"if (lempty($response['Retry-After'])) {","width":"0.11046511061648104","level":"0","conf":"1","word_num":"0","top":"0.07655502392344493","left":"0.19186047184060315","line_num":"0","block_num":"0"},{"line_num":"0","conf":"1","par_num":"0","text":"return (int) Sresponsel'Retry-After'JL0J;","width":"0.11482557337334817","word_num":"0","block_num":"0","level":"0","left":"0.20348837064246447","page_num":"0","top":"0.09728867612410008","height":"0.010725260921642499"},{"top":"0.14982578426724635","level":"0","page_num":"0","width":"0.09883720316785446","word_num":"0","line_num":"0","left":"0.19186047120244723","block_num":"0","conf":"0.5","par_num":"0","height":"0.010461296951561616","text":"// Fall back to the interval window"},{"line_num":"0","level":"0","text":"if (lempty($response['X-HubSpot-RateLimit-Interval-Milliseconds'])) {","word_num":"0","block_num":"0","height":"0.021531100478468956","left":"0.19186046807597842","par_num":"0","page_num":"0","top":"0.16347687400318978","width":"0.19622092551373418","conf":"1"},{"conf":"1","line_num":"0","level":"0","height":"0.010452960286604362","width":"0.2194767201200445","text":"return (int) ceil((int) §responsel'X-HubSpot-RateLimit-Interval-Milliseconds'J","top":"0.18815331097168042","word_num":"0","page_num":"0","block_num":"0","left":"0.20203488583926005","par_num":"0"},{"height":"0.007293733113120093","par_num":"0","width":"0.04360465293234966","page_num":"0","block_num":"0","level":"0","line_num":"0","conf":"0.5","text":"sare deraulc","left":"0.19186046430956974","top":"0.2439024390920519","word_num":"0"},{"par_num":"0","page_num":"0","block_num":"0","height":"0.006968640444571572","width":"0.02906976354883073","left":"0.19186046887394886","top":"0.2613240421470522","text":"return 1o:","line_num":"0","level":"0","conf":"0.30000001192092896","word_num":"0"},{"line_num":"0","par_num":"0","level":"0","page_num":"0","height":"0.010591889492442608","top":"0.3275261327072516","width":"0.09738371220040831","text":"Proactive throttling improvement","word_num":"0","left":"0.17877907849573305","conf":"1","block_num":"0"},{"left":"0.17877905671166336","top":"0.3554006970542266","width":"0.2296511670376392","block_num":"0","text":"Rather than just reacting to 429s, your rateLimiter->canMakeRequest Should also read X-","word_num":"0","conf":"1","par_num":"0","level":"0","height":"0.010628011238061563","page_num":"0","line_num":"0"},{"level":"0","line_num":"0","conf":"0.30000001192092896","height":"0.007265947271952511","page_num":"0","par_num":"0","top":"0.3763066203626071","left":"0.1787790831571048","text":"Hubspot-ratel1mit-remarning rom successtu responses ane store 1t. so vou cai","width":"0.20203486909257604","word_num":"0","block_num":"0"},{"conf":"1","level":"0","page_num":"0","line_num":"0","text":"preemptively back oft before hitting the wall:","par_num":"0","word_num":"0","width":"0.1104651207619525","top":"0.3937282228884904","height":"0.01057799733236453","block_num":"0","left":"0.17877906666718843"},{"line_num":"0","par_num":"0","top":"0.459930313546157","conf":"0.30000001192092896","block_num":"0","page_num":"0","left":"0.18023255108060482","word_num":"0","level":"0","text":"Arrer a successtu saolalo, caouure neaders and sunc vour local bucket:","height":"0.006968641205077342","width":"0.21656977876703792"},{"page_num":"0","conf":"1","par_num":"0","text":"$remaining = $response->getHeader ('X-HubSpot-RateLimit-Remaining'):","top":"0.4736842105263157","width":"0.1875","word_num":"0","line_num":"0","block_num":"0","height":"0.014354066985646008","level":"0","left":"0.18023255268891286"},{"conf":"0.5","left":"0.1802325732972581","height":"0.011164274322169043","line_num":"0","par_num":"0","level":"0","width":"0.19767440633570896","page_num":"0","top":"0.49441786283891553","text":"$this->rateLimiter->syncRemaining($this->config, (int) $remaining[0]);","block_num":"0","word_num":"0"},{"page_num":"0","par_num":"0","height":"0.010672468127626344","conf":"1","left":"0.17877907081566252","text":"Limits for vour context","top":"0.5435540071471688","block_num":"0","width":"0.06540697686215666","word_num":"0","line_num":"0","level":"0"},{"line_num":"0","height":"0.010708589112739642","left":"0.17877906367115468","word_num":"0","page_num":"0","par_num":"0","top":"0.5714285718743967","width":"0.17005813882706014","block_num":"0","level":"0","text":"For privately distributed apps (private apps / single-account installs):","conf":"1"},{"block_num":"0","word_num":"0","level":"0","page_num":"0","left":"0.18023256710259986","line_num":"0","height":"0.010744710858358708","top":"0.5993031361342637","width":"0.15406975847609503","par_num":"0","text":"• Free/Starter: 100 rea / 10 sec der app. 250k/dav per account","conf":"0.5"},{"page_num":"0","width":"0.15406974833062356","word_num":"0","level":"0","line_num":"0","text":"• Professional: 190 req / 10 sec per app, 625k/day per account","height":"0.014354066985646008","conf":"1","block_num":"0","left":"0.18023257723786876","par_num":"0","top":"0.6236044657097288"},{"height":"0.010608561301345465","top":"0.6480836238742205","par_num":"0","text":"• Enterprise: 190 rea / 10 sec der app. 1M/day der account","conf":"0.5","level":"0","line_num":"0","left":"0.18168605587817357","page_num":"0","width":"0.14389534199491458","word_num":"0","block_num":"0"},{"conf":"1","height":"0.010558546635142552","level":"0","par_num":"0","block_num":"0","left":"0.17877906268744054","text":"The dailv limit resets at midnight in the account's confioured timezone. hubspot","word_num":"0","line_num":"0","width":"0.19767440633570893","top":"0.6864111504286012","page_num":"0"},{"word_num":"0","block_num":"0","width":"0.22238372234587975","page_num":"0","level":"0","conf":"1","height":"0.010519646761710133","par_num":"0","text":"So your executeRequest flow is correct — just make sure parseRetryAfter properly falls","left":"0.17877905903977528","line_num":"0","top":"0.717703349431025"},{"left":"0.17877907414770147","height":"0.007207597461803772","top":"0.7384370015438981","level":"0","line_num":"0","page_num":"0","width":"0.2238371828769116","conf":"0.30000001192092896","par_num":"0","word_num":"0","block_num":"0","text":"back to the interval neader, and deal v sunc remaining countsfrom success u responses to"},{"left":"0.17877907926407474","top":"0.7559808612440191","par_num":"0","conf":"0.5","width":"0.08575580475178171","text":"avoid hittino 420c in the firet niace","level":"0","page_num":"0","word_num":"0","block_num":"0","height":"0.0071770334928230595","line_num":"0"},{"text":"Replv…","left":"0.1758720948959844","top":"0.9128919869298685","word_num":"0","block_num":"0","page_num":"0","level":"0","conf":"0.30000001192092896","par_num":"0","width":"0.02034883549872865","height":"0.010452960286604362","line_num":"0"},{"top":"0.9441786283335306","width":"0.029069763548830674","conf":"0.5","left":"0.37645349188486105","block_num":"0","word_num":"0","par_num":"0","page_num":"0","text":"Sonnet 4.6 v","height":"0.010525203777842607","line_num":"0","level":"0"},{"line_num":"0","text":"^ Lukas Kovali!","block_num":"0","level":"0","word_num":"0","conf":"0.5","page_num":"0","top":"0.9790940770743789","par_num":"0","height":"0.007349304034949489","left":"0.005813953860294247","width":"0.03343022884206569"},{"level":"0","line_num":"0","par_num":"0","text":"Caudo ic Aland can make mictakac Plence double-chock recnoncod","top":"0.9824561403508771","left":"0.23401164300125935","width":"0.12790696164394952","height":"0.0071770334928230595","conf":"0.30000001192092896","word_num":"0","page_num":"0","block_num":"0"},{"par_num":"0","conf":"0.5","height":"0.010452960286604362","level":"0","page_num":"0","line_num":"0","block_num":"0","left":"0.511627908540182","text":"4 HS_local [jiminny@localhost]","top":"0.05574912978701141","width":"0.06104650395981803","word_num":"0"},{"level":"0","page_num":"0","top":"0.05574912943857935","height":"0.010452960286604362","left":"0.6264534921253235","conf":"0.5","par_num":"0","width":"0.031976740410987414","word_num":"0","block_num":"0","line_num":"0","text":"A console [EU]"},{"page_num":"0","left":"0.6671511670183933","width":"0.04360464785961404","level":"0","height":"0.010452960286604362","text":"« console [STAGING]","conf":"0.5","line_num":"0","word_num":"0","block_num":"0","top":"0.05574912943857935","par_num":"0"},{"conf":"0.30000001192092896","height":"0.011164274322169043","width":"0.023255812360885253","level":"0","block_num":"0","line_num":"0","left":"0.6976744206304951","par_num":"0","text":"Go jiminny","page_num":"0","top":"0.0797448165869219","word_num":"0"},{"conf":"0.30000001192092896","height":"0.01059744650857497","text":"* 037 A1 A35 Y63 ^ V","par_num":"0","level":"0","block_num":"0","width":"0.07122092551373416","top":"0.10104529661439754","page_num":"0","line_num":"0","left":"0.6511627964518826","word_num":"0"},{"word_num":"0","block_num":"0","page_num":"0","par_num":"0","line_num":"0","text":"sU l.n<»>I. on U.1d = cp.user 1d WHERE U.team_ 1d = 7115","top":"0.12519936194607284","level":"0","width":"0.14534882281688932","height":"0.007204819333990642","left":"0.49854651134203887","conf":"0.30000001192092896"},{"top":"0.2822299657308003","left":"0.4999999994561782","level":"0","page_num":"0","block_num":"0","text":"ovider_id, '@', -1)) AS calendar_domain","width":"0.1017441851027468","word_num":"0","conf":"1","line_num":"0","par_num":"0","height":"0.010452961047110243"},{"conf":"0.30000001192092896","block_num":"0","text":"0cstatus = lactivel AND c.calendan nroviden id LTKE 1%0%.","left":"0.49854651027306074","page_num":"0","line_num":"0","par_num":"0","height":"0.007332632986552401","level":"0","top":"0.3341307815700798","width":"0.1540697686215664","word_num":"0"},{"line_num":"0","text":"EX(c.calendar_provider_id, '@', -1))","width":"0.09447673026551584","par_num":"0","top":"0.40418118517443635","left":"0.5000000136414863","conf":"1","page_num":"0","block_num":"0","level":"0","word_num":"0","height":"0.01049186092054244"},{"par_num":"0","text":"1<->1..n: on c.user id = u.id","conf":"0.5","level":"0","block_num":"0","line_num":"0","page_num":"0","height":"0.010636346382007278","left":"0.5014534980937468","top":"0.4736842104693668","width":"0.07122092044099848","word_num":"0"},{"height":"0.017421602252187474","word_num":"0","level":"0","par_num":"0","width":"0.013081394611521024","conf":"0.30000001192092896","page_num":"0","line_num":"0","top":"0.00000000004986444590571182","block_num":"0","left":"0.8575581397763615","text":"$0"},{"page_num":"0","left":"0.9127906980217457","text":"100% 5","word_num":"0","par_num":"0","level":"0","width":"0.018895348335834172","height":"0.006968641205077342","block_num":"0","conf":"0.30000001192092896","top":"0.006968641098971218","line_num":"0"},{"top":"0.0031897926052030234","word_num":"0","par_num":"0","height":"0.01074748898617195","block_num":"0","text":"Mon 27 Apr 19:01:35","conf":"1","left":"0.9476744221943781","level":"0","line_num":"0","page_num":"0","width":"0.04651162472177062"},{"level":"0","line_num":"0","block_num":"0","conf":"1","text":"Cascade","page_num":"0","par_num":"0","width":"0.017441858636571994","word_num":"0","top":"0.05574912943857935","height":"0.010452960286604362","left":"0.7296511645770627"},{"par_num":"0","width":"0.04505813882706011","level":"0","page_num":"0","block_num":"0","left":"0.7281976749791169","text":"Optimizing Userlrans","top":"0.08362369354010668","word_num":"0","line_num":"0","height":"0.007285397208668498","conf":"1"},{"top":"0.08362369356690913","word_num":"0","block_num":"0","page_num":"0","width":"0.02034883676691257","par_num":"0","height":"0.007285397208668498","text":"+0 •","conf":"0.30000001192092896","left":"0.9651162792848433","line_num":"0","level":"0"},{"top":"0.1076555023778929","width":"0.0159883714736776","word_num":"0","block_num":"0","line_num":"0","level":"0","conf":"0.30000001192092896","page_num":"0","par_num":"0","text":"lo al **","left":"0.9651162793976159","height":"0.007327075970420038"},{"line_num":"0","page_num":"0","height":"0.007357639939400973","conf":"1","par_num":"0","level":"0","left":"0.7543604839906534","text":"what will happen if the user have some result removed but the cache shows it has it. I don't want to add migration.","top":"0.1393728226143094","width":"0.22238370205493685","block_num":"0","word_num":"0"},{"text":"Short answer: with Cache::driver('array'), Staleness is a non-issue","block_num":"0","conf":"0.5","line_num":"0","height":"0.010619675333610301","left":"0.7296511728825985","word_num":"0","top":"0.19512195151429612","level":"0","page_num":"0","width":"0.17296511061648112","par_num":"0"},{"left":"0.7296511977160492","height":"0.010741931970039587","line_num":"0","conf":"1","par_num":"0","level":"0","width":"0.24127903390438","word_num":"0","text":"The array driver lives only in PHP's memory for the current request. It's destroyed the moment the response is sent. So:","top":"0.21254355441437112","block_num":"0","page_num":"0"},{"page_num":"0","par_num":"0","conf":"1","height":"0.010569661427913046","line_num":"0","word_num":"0","width":"0.13226744469175944","block_num":"0","level":"0","top":"0.2334494774271001","left":"0.7325581389529937","text":"• Stale window: milliseconds - the duration of one HTTP request"},{"conf":"0.5","block_num":"0","level":"0","line_num":"0","top":"0.271777003894373","word_num":"0","par_num":"0","width":"0.10610463771414247","page_num":"0","left":"0.7383720957581157","height":"0.007329854098233168","text":"transtormer reads true trom cache. User sees hasge"},{"left":"0.738372102519872","width":"0.08284882788962511","height":"0.007196483429539047","page_num":"0","word_num":"0","top":"0.28548644321623873","line_num":"0","text":"queries and aets false. Comoletelv fine","par_num":"0","block_num":"0","level":"0","conf":"0.5"},{"block_num":"0","conf":"1","par_num":"0","word_num":"0","line_num":"0","height":"0.011164274322168932","text":"eratedAiReports: true for ~50ms until their next request, which re-","width":"0.1322674244008165","left":"0.8473837379498167","page_num":"0","top":"0.2679425837320575","level":"0"},{"line_num":"0","top":"0.306620209394439","height":"0.006968640444571461","conf":"0.30000001192092896","text":"Thic ic not Podic Itc not charod acroce ronuocte workore or corvorc Think of it ac a ctotze varinhlo cconod to tho roauoct","left":"0.7296511934151275","word_num":"0","block_num":"0","level":"0","page_num":"0","par_num":"0","width":"0.24418601583927235"},{"par_num":"0","block_num":"0","page_num":"0","top":"0.33797909453440456","width":"0.045058133754324436","height":"0.007315961177649544","conf":"0.30000001192092896","line_num":"0","left":"0.7296511638355944","text":"What this buys you","word_num":"0","level":"0"},{"conf":"0.5","width":"0.24854647859613954","level":"0","word_num":"0","line_num":"0","left":"0.7325581483422668","height":"0.0071770334928229484","block_num":"0","page_num":"0","par_num":"0","text":"•Deduplicates the query it Userlranstormer::transtorm() is called multiple times tor the same user in one request (Fractal","top":"0.3588516746411483"},{"block_num":"0","par_num":"0","top":"0.3728222999867735","text":"includes. embedded resources. etc.","line_num":"0","left":"0.7383721026966943","page_num":"0","level":"0","height":"0.006968640444571572","conf":"0.5","width":"0.07412789730315517","word_num":"0"},{"text":"•Lero staleness risk bevond the request itselt.","height":"0.006968641205077342","conf":"0.5","width":"0.09447674041098741","line_num":"0","block_num":"0","word_num":"0","page_num":"0","left":"0.7325581432520022","par_num":"0","top":"0.3937282229576903","level":"0"},{"line_num":"0","conf":"1","top":"0.41114982595421345","level":"0","block_num":"0","page_num":"0","height":"0.010700253968793927","text":"• No migration, no schema change, no write-path coupling.","par_num":"0","width":"0.11918603613021528","word_num":"0","left":"0.7325581508301323"},{"level":"0","block_num":"0","line_num":"0","left":"0.7296511631143349","conf":"0.30000001192092896","par_num":"0","word_num":"0","height":"0.006968641205077342","width":"0.0479651156892168","page_num":"0","text":"What it does Not fiy","top":"0.43902439018796646"},{"page_num":"0","conf":"0.5","level":"0","text":"• The first call ner requect still runs the querv. So lucers/current stilll navs the cost once ner nade load. It onlv helns if trans","line_num":"0","top":"0.4599303139240558","height":"0.006968640444571461","block_num":"0","word_num":"0","left":"0.7325581597447746","par_num":"0","width":"0.24999997970905719"},{"height":"0.007324297082101028","text":"Quick check — is that happenina?","top":"0.49825783990011896","width":"0.06686046782960287","line_num":"0","block_num":"0","left":"0.7296511609811828","level":"0","word_num":"0","par_num":"0","conf":"0.5","page_num":"0"},{"top":"0.5470383278142917","page_num":"0","block_num":"0","par_num":"0","conf":"0.5","text":"49485* # team 565 crm 557","height":"0.007188147525087785","line_num":"0","width":"0.06686045768413135","word_num":"0","level":"0","left":"0.49854651321989146"},{"height":"0.011164274322169154","line_num":"0","par_num":"0","word_num":"0","left":"0.5000000057470804","top":"0.5606060606060606","conf":"0.5","text":"72382: # team 563 crm 537","width":"0.0654069717894209","page_num":"0","level":"0","block_num":"0"},{"line_num":"0","page_num":"0","top":"0.5818815334362508","width":"0.0654069717894209","height":"0.006968640444571461","par_num":"0","text":"00589: # team so5 crm 55","left":"0.4999999992070341","word_num":"0","level":"0","block_num":"0","conf":"0.30000001192092896"},{"par_num":"0","width":"0.06540697686215663","word_num":"0","line_num":"0","top":"0.5993031358511972","conf":"0.30000001192092896","page_num":"0","left":"0.49999999994328587","block_num":"0","text":"8175: # team so5 crm 55","height":"0.006968641205077342","level":"0"},{"text":"20297: # team 563 crm 537","word_num":"0","height":"0.010455739935429254","par_num":"0","top":"0.6132376395302542","left":"0.5000000007457174","block_num":"0","level":"0","width":"0.06540697686215657","line_num":"0","page_num":"0","conf":"1"},{"par_num":"0","word_num":"0","height":"0.0071770334928229484","page_num":"0","level":"0","text":"ty 1d = 580812757","left":"0.5000000057790301","line_num":"0","conf":"0.30000001192092896","top":"0.6339712918660287","width":"0.045058133754324436","block_num":"0"},{"page_num":"0","text":"iquration id = 537 and provider = 'aircall'","top":"0.668989547184679","left":"0.5000000030593383","line_num":"0","par_num":"0","conf":"0.5","level":"0","height":"0.0072464973352361906","width":"0.1119186015839273","word_num":"0","block_num":"0"},{"line_num":"0","block_num":"0","left":"0.5000000037698947","par_num":"0","word_num":"0","conf":"0.30000001192092896","page_num":"0","text":"ted at desc.","top":"0.6826156298906554","width":"0.0319767404109873","level":"0","height":"0.010764160795074917"},{"width":"0.09156975847609505","word_num":"0","par_num":"0","block_num":"0","top":"0.7208931420073937","level":"0","height":"0.00732985409823339","text":"unation id = 537 and id = 35957759•","line_num":"0","conf":"0.30000001192092896","left":"0.5000000095554807","page_num":"0"},{"height":"0.007207597461803772","text":"unation id = 537 and id = 19003658÷","conf":"0.5","line_num":"0","page_num":"0","word_num":"0","width":"0.09156975847609505","left":"0.5000000095554807","level":"0","top":"0.7384370015438981","block_num":"0","par_num":"0"},{"block_num":"0","left":"0.5000000013346088","page_num":"0","height":"0.010452961047110132","par_num":"0","width":"0.04069767099745736","text":"where id = 1976","top":"0.773519164162856","word_num":"0","line_num":"0","level":"0","conf":"1"},{"page_num":"0","conf":"0.30000001192092896","block_num":"0","left":"0.4985465136439246","line_num":"0","text":"Id = 583;","par_num":"0","height":"0.014354066985645897","level":"0","word_num":"0","top":"0.7870813397129187","width":"0.02325581236088531"},{"par_num":"0","top":"0.8083623697944038","word_num":"0","text":".d = 87714;","height":"0.010616896445291069","level":"0","line_num":"0","conf":"0.30000001192092896","width":"0.026162789223041938","left":"0.5000000019907199","page_num":"0","block_num":"0"},{"height":"0.017552194793068465","block_num":"0","par_num":"0","conf":"1","page_num":"0","text":"here activity_search_id = 87714;","word_num":"0","top":"0.8221690592673908","level":"0","width":"0.08430232392980697","left":"0.5000000014827866","line_num":"0"},{"height":"0.0071770334928229484","page_num":"0","text":"hin(199274472.202d-1140.0d04-72££5£05kkaQt) = muid","block_num":"0","line_num":"0","top":"0.8604465709728868","word_num":"0","level":"0","conf":"0.30000001192092896","par_num":"0","left":"0.5000000103944912","width":"0.1308139435788419"},{"line_num":"0","text":"-CeASLA2001011) = uid.","page_num":"0","word_num":"0","level":"0","block_num":"0","left":"0.5014534960821777","par_num":"0","height":"0.0071770334928229484","width":"0.05813952709766146","conf":"0.30000001192092896","top":"0.8779904306220095"},{"par_num":"0","width":"0.050872087478637695","page_num":"0","conf":"1","top":"0.5644599307143667","height":"0.007310404161517181","text":"contirming the scope","line_num":"0","block_num":"0","left":"0.7296511632144582","word_num":"0","level":"0"},{"line_num":"0","block_num":"0","height":"0.006968641205077342","left":"0.7311046444850012","text":"The query at lline 139 onlv tires when withsel fVisibilitv is true or autho-susero-sid zz= Suser-sid (lline 69). Lookina at","top":"0.581881533053924","word_num":"0","page_num":"0","par_num":"0","width":"0.2441860564211582","conf":"0.5","level":"0"},{"word_num":"0","text":"the usages","line_num":"0","block_num":"0","height":"0.006968640444571461","top":"0.5993031362237073","conf":"0.30000001192092896","left":"0.7296511623762831","level":"0","par_num":"0","width":"0.023255812360885253","page_num":"0"},{"conf":"1","top":"0.6164274321712074","word_num":"0","width":"0.24273253501729763","page_num":"0","level":"0","block_num":"0","left":"0.7311046513754559","height":"0.01075026787449107","par_num":"0","line_num":"0","text":"• Most UserTransformer uses (comment authors, activity organizers, coaches, participants...) don't take the self-visibility"},{"level":"0","block_num":"0","left":"0.7398255883747145","top":"0.6339712918660287","conf":"1","word_num":"0","text":"branch — so the auerv doesn't run for them.","height":"0.0071770334928229484","page_num":"0","width":"0.08720929571922786","par_num":"0","line_num":"0"},{"level":"0","block_num":"0","page_num":"0","conf":"1","left":"0.7311046781822051","line_num":"0","par_num":"0","text":"•It runs for the authenticated user on endpoints like /users/current, PartnerController::me, KioskProfileController, Sea","word_num":"0","height":"0.010505753841126397","top":"0.651515151450253","width":"0.2514534605310318"},{"block_num":"0","height":"0.01055576774682343","conf":"1","width":"0.2470929977741647","top":"0.6897926635444678","line_num":"0","level":"0","text":"For SearchController returning a user collection that includes yourself, transform() may get called for the same user id only","left":"0.7296511894815535","page_num":"0","par_num":"0","word_num":"0"},{"width":"0.1947674244008165","conf":"1","level":"0","par_num":"0","text":"once (vou appear in the list once). So honestiv, the per-request dedupe benefit is marainal here too","line_num":"0","page_num":"0","left":"0.7296511795294159","block_num":"0","word_num":"0","top":"0.7038327533286762","height":"0.010680803271571948"},{"page_num":"0","conf":"1","left":"0.7296511669522509","word_num":"0","line_num":"0","level":"0","height":"0.007232604414652344","block_num":"0","par_num":"0","text":"Final recommendation","top":"0.7351916379943421","width":"0.052325578446083876"},{"page_num":"0","text":"Given","level":"0","word_num":"0","left":"0.729651162505286","block_num":"0","width":"0.013081394611520913","conf":"1","height":"0.006968640444571461","line_num":"0","top":"0.7560975613108154","par_num":"0"},{"width":"0.05813952709766146","word_num":"0","level":"0","text":"• You don't want a migration","top":"0.7767145136381128","left":"0.734011629874255","page_num":"0","line_num":"0","height":"0.007257611367501027","conf":"0.5","block_num":"0","par_num":"0"},{"block_num":"0","height":"0.0071770334928229484","line_num":"0","page_num":"0","top":"0.7942583732057417","width":"0.2398255733733481","level":"0","word_num":"0","text":"•once()) I arrav cache provides oniv marainal benefit because transformo isn't called multiole times per reauest for the","conf":"0.5","left":"0.732558148264708","par_num":"0"},{"block_num":"0","par_num":"0","level":"0","page_num":"0","text":"same self-user in practice","width":"0.050872087478637695","line_num":"0","conf":"1","height":"0.010616896445291069","word_num":"0","top":"0.8083623697944038","left":"0.739825586937358"},{"conf":"0.5","width":"0.13517440633570899","block_num":"0","level":"0","page_num":"0","word_num":"0","text":"• The auery is already exists() witha team id -indexed subauerv","line_num":"0","top":"0.8292682928942409","par_num":"0","height":"0.007254833239687675","left":"0.732558151795243"},{"block_num":"0","conf":"0.5","page_num":"0","height":"0.010547431842372057","level":"0","text":"Just leave it. The honest answer is the code is fine as-is until you see it in slow query logs. Adding Cache::driver('array') is","width":"0.24563951695219","left":"0.7311046709120791","line_num":"0","top":"0.8500797449888496","par_num":"0","word_num":"0"},{"text":"If you want the belt-and-suspenders version anyway, here it is - staleness is bounded to the current request and cannot cross","block_num":"0","line_num":"0","top":"0.8811802232854864","level":"0","word_num":"0","page_num":"0","height":"0.011164274322169154","left":"0.7296511903153156","par_num":"0","conf":"1","width":"0.2470929977741647"},{"height":"0.0071770334928229484","left":"0.7311046506301891","page_num":"0","text":"Ask anvthina (&+b)","word_num":"0","top":"0.9266347687400319","width":"0.04069767099745725","block_num":"0","level":"0","par_num":"0","line_num":"0","conf":"0.30000001192092896"},{"par_num":"0","line_num":"0","text":"<> Code Claude Qnus 4.7 Medium","top":"0.9545454545454546","height":"0.0071770334928229484","block_num":"0","conf":"0.30000001192092896","left":"0.736918606017625","level":"0","width":"0.0668604576841314","word_num":"0","page_num":"0"},{"top":"0.986062718234409","line_num":"0","width":"0.015988370205493707","height":"0.01074748898617195","level":"0","conf":"0.30000001192092896","left":"0.9694767460118122","page_num":"0","par_num":"0","text":"Pa 4 sp","block_num":"0","word_num":"0"}]...
|
iTerm2
|
AppleNative
|
NULL
|
1
|
5364
|
NULL
|
NULL
|
|
89267
|
ClaudtVIewWindowHubSpot rate limit handling with e ClaudtVIewWindowHubSpot rate limit handling with executeRequest0 chạt •=+ New chat• Projects80 Artifacts• CustomizeBulgarian cicizenship application procesRecenteHubSpot rate limit handling with executeLintitledScreen pipe. Is there ability…SM8 mount access inconsistency betweaWhat is the best switch can..Permission denied on screenpipe volumescreenpipe sync database attachmenteLast swimming outing with DaniDefinition of incarceratedChromecast remote volume buttons notSalesforce APl errors with OrganizationDaily activity summary from screenpipeMacBook unexpected restarts and kanjiSecurity patch review and testing guidarTracking location history from last weekScreenpipe WAL processing when stoppReviewing recent conversation highlightMac allases not reco-nizedBoosteroid still recording despite ignoreif (lempty($response['Retry-After'])) {return (int) Sresponsel'Retry-After'JL0J;// Fall back to the interval windowif (lempty($response['X-HubSpot-RateLimit-Interval-Milliseconds'])) {return (int) ceil((int) §responsel'X-HubSpot-RateLimit-Interval-Milliseconds'Jsare deraulcreturn 1o:Proactive throttling improvementRather than just reacting to 429s, your rateLimiter->canMakeRequest Should also read X-Hubspot-ratel1mit-remarning rom successtu responses ane store 1t. so vou caipreemptively back oft before hitting the wall:Arrer a successtu saolalo, caouure neaders and sunc vour local bucket:$remaining = $response->getHeader ('X-HubSpot-RateLimit-Remaining'):$this->rateLimiter->syncRemaining($this->config, (int) $remaining[0]);Limits for vour contextFor privately distributed apps (private apps / single-account installs):• Free/Starter: 100 rea / 10 sec der app. 250k/dav per account• Professional: 190 req / 10 sec per app, 625k/day per account• Enterprise: 190 rea / 10 sec der app. 1M/day der accountThe dailv limit resets at midnight in the account's confioured timezone. hubspotSo your executeRequest flow is correct — just make sure parseRetryAfter properly fallsback to the interval neader, and deal v sunc remaining countsfrom success u responses toavoid hittino 420c in the firet niaceReplv…Sonnet 4.6^ Lukas Kovali!Caudo ic Aland can make mictakac Plence double-chock recnoncod4 HS_local [jiminny@localhost]A console [EU]« console [STAGING]Go jiminny* 037 A1 A35 Y63 ^ VsU l.n<»>I. on U.1d = cp.user 1d WHERE U.team_ 1d = 7115ovider_id, '@', -1)) AS calendar_domain0cstatus = lactivel AND c.calendan nroviden id LTKE 1%0%.EX(c.calendar_provider_id, '@', -1))1<->1..n: on c.user id = u.id$0100% 5Mon 27 Apr 19:01:37CascadeOptimizing Userlrans+0 •lo al **what will happen if the user have some result removed but the cache shows it has it. I don't want to add migration.Short answer: with Cache::driver('array'), Staleness is a non-issueThe array driver lives only in PHP's memory for the current request. It's destroyed the moment the response is sent. So:• Stale window: milliseconds - the duration of one HTTP requesttranstormer reads true trom cache. User sees hasgequeries and aets false. Comoletelv fineeratedAiReports: true for ~50ms until their next request, which re-Thic ic not Podic Itc not charod acroce ronuocte workore or corvorc Think of it ac a ctotze varinhlo cconod to tho roauoctWhat this buys you•Deduplicates the query it Userlranstormer::transtorm() is called multiple times tor the same user in one request (Fractalincludes. embedded resources. etc.•Lero staleness risk bevond the request itselt.• No migration, no schema change, no write-path coupling.What it does Not fiy• The first call ner requect still runs the querv. So lucers/current stilll navs the cost once ner nade load. It onlv helns if transQuick check — is that happenina?49485* # team 565 crm 55772382: # team 563 crm 53700589: # team so5 crm 558175: # team so5 crm 5520297: # team 563 crm 537ty 1d = 580812757iquration id = 537 and provider = 'aircall'ted at desc.unation id = 537 and id = 35957759•unation id = 537 and id = 19003658÷where id = 1976Id = 583;.d = 87714;here activity_search_id = 87714;hin(199274472.202d-1140.0d04-72££5£05kkaQt) = muid-CeASLA2001011) = uid.contirming the scopeThe query at lline 139 onlv tires when withsel fVisibilitv is true or autho-susero-sid zz= Suser-sid (lline 69). Lookina atthe usages• Most UserTransformer uses (comment authors, activity organizers, coaches, participants...) don't take the self-visibilitybranch — so the auerv doesn't run for them.•It runs for the authenticated user on endpoints like /users/current, PartnerController::me, KioskProfileController, SeaFor SearchController returning a user collection that includes yourself, transform() may get called for the same user id onlyonce (vou appear in the list once). So honestiv, the per-request dedupe benefit is marainal here tooFinal recommendationGiven• You don't want a migration•once()) I arrav cache provides oniv marainal benefit because transformo isn't called multiole times per reauest for thesame self-user in practice• The auery is already exists() witha team id -indexed subauervJust leave it. The honest answer is the code is fine as-is until you see it in slow query logs. Adding Cache::driver('array') isIf you want the belt-and-suspenders version anyway, here it is - staleness is bounded to the current request and cannot crossAsk anvthina (&+b)<> Code Claude Qnus 4.7 MediumPa 4 sp...
|
[{"par_num":"0","text": [{"par_num":"0","text":"Claudt","top":"0.0069686410350919825","width":"0.01453488304259929","conf":"0.30000001192092896","line_num":"0","height":"0.006968641205077342","level":"0","left":"0.017441860731607334","page_num":"0","word_num":"0","block_num":"0"},{"width":"0.01162790618044264","par_num":"0","height":"0.006968640444571461","level":"0","top":"0.006968641450188162","word_num":"0","page_num":"0","line_num":"0","text":"VIew","block_num":"0","conf":"0.30000001192092896","left":"0.06686046609582513"},{"left":"0.0843023257257416","par_num":"0","top":"0.003484321424642056","width":"0.015988370205493693","word_num":"0","level":"0","block_num":"0","conf":"1","text":"Window","line_num":"0","height":"0.010452960286604362","page_num":"0"},{"par_num":"0","width":"0.10901161964903486","block_num":"0","conf":"1","word_num":"0","left":"0.10465117182723446","top":"0.034843205974365854","level":"0","text":"HubSpot rate limit handling with executeRequest","height":"0.010611339429158706","page_num":"0","line_num":"0"},{"conf":"0.30000001192092896","level":"0","page_num":"0","height":"0.01754385964912286","text":"0 chạt •=","word_num":"0","left":"0.00726744313166805","par_num":"0","top":"0.06618819776714513","width":"0.027616277654120266","block_num":"0","line_num":"0"},{"line_num":"0","word_num":"0","page_num":"0","block_num":"0","level":"0","width":"0.027713717298304786","conf":"0.5","left":"0.007218724430224716","height":"0.01205211469050993","par_num":"0","text":"+ New chat","top":"0.09676139896674574"},{"left":"0.007234124854675509","block_num":"0","height":"0.011399879790189082","par_num":"0","width":"0.0247759387848225","top":"0.11799343964232922","word_num":"0","line_num":"0","page_num":"0","conf":"1","text":"• Projects","level":"0"},{"width":"0.026162789223041938","word_num":"0","left":"0.007267443830874714","block_num":"0","height":"0.010547432602877826","conf":"0.5","line_num":"0","text":"80 Artifacts","par_num":"0","top":"0.1393728226143094","page_num":"0","level":"0"},{"word_num":"0","par_num":"0","conf":"0.30000001192092896","line_num":"0","block_num":"0","height":"0.007185368636768663","page_num":"0","left":"0.007267445751568973","top":"0.1602787460943993","level":"0","width":"0.029069763548830722","text":"• Customize"},{"width":"0.0813953419949146","par_num":"0","word_num":"0","text":"Bulgarian cicizenship application proces","height":"0.007182590508955311","level":"0","block_num":"0","left":"0.005813952957723","page_num":"0","line_num":"0","conf":"0.5","top":"0.21929824549679078"},{"block_num":"0","top":"0.26480836270454355","left":"0.005813955231555403","par_num":"0","text":"Recente","page_num":"0","conf":"1","level":"0","width":"0.015988370205493683","word_num":"0","line_num":"0","height":"0.006968640444571572"},{"page_num":"0","height":"0.010680803271571948","left":"0.005813960209219755","line_num":"0","level":"0","block_num":"0","top":"0.28548644339975193","par_num":"0","width":"0.08430231885707123","word_num":"0","text":"HubSpot rate limit handling with execute","conf":"1"},{"text":"Lintitled","top":"0.306620209394439","height":"0.006968640444571461","line_num":"0","block_num":"0","left":"0.005813955317918929","level":"0","width":"0.018895347067650326","par_num":"0","word_num":"0","page_num":"0","conf":"0.30000001192092896"},{"text":"Screen pipe. Is there ability…","block_num":"0","top":"0.3275261329685757","conf":"0.5","word_num":"0","page_num":"0","width":"0.06540697178942093","par_num":"0","left":"0.005813959353578339","line_num":"0","height":"0.010591889492442497","level":"0"},{"text":"SM8 mount access inconsistency betwe","par_num":"0","top":"0.3516746413159395","page_num":"0","left":"0.00581395449820229","height":"0.007210375589617124","level":"0","conf":"1","width":"0.08284882788962505","word_num":"0","line_num":"0","block_num":"0"},{"height":"0.006968640444571572","width":"0.06831394865157757","word_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.0058139591946427035","line_num":"0","page_num":"0","text":"aWhat is the best switch can..","level":"0","top":"0.3728222999867735","par_num":"0"},{"text":"Permission denied on screenpipe volume","page_num":"0","top":"0.3937282234343914","word_num":"0","width":"0.0828488329623608","line_num":"0","height":"0.010577996571858761","block_num":"0","conf":"1","left":"0.005813958833518282","level":"0","par_num":"0"},{"par_num":"0","block_num":"0","left":"0.005813954522776372","text":"screenpipe sync database attachmente","top":"0.41786283903538746","width":"0.08284882788962505","page_num":"0","conf":"0.5","word_num":"0","line_num":"0","level":"0","height":"0.007224268510200971"},{"line_num":"0","level":"0","conf":"1","width":"0.0654069667166852","word_num":"0","page_num":"0","par_num":"0","left":"0.005813956854237189","height":"0.010586332476310134","text":"Last swimming outing with Dani","block_num":"0","top":"0.4354066985493681"},{"level":"0","top":"0.45614035072682557","width":"0.05377906434079434","page_num":"0","word_num":"0","block_num":"0","conf":"1","height":"0.010758603778942444","left":"0.0058139538809975294","line_num":"0","text":"Definition of incarcerated","par_num":"0"},{"conf":"1","line_num":"0","page_num":"0","text":"Chromecast remote volume buttons not","top":"0.48083623717426005","height":"0.00720204044567152","block_num":"0","par_num":"0","width":"0.08284882788962505","level":"0","word_num":"0","left":"0.005813963338768942"},{"line_num":"0","text":"Salesforce APl errors with Organization","page_num":"0","block_num":"0","level":"0","left":"0.005813962807491055","conf":"1","width":"0.08284882788962507","top":"0.5015948964748529","word_num":"0","height":"0.0106002246363881","par_num":"0"},{"left":"0.005813962805854454","line_num":"0","page_num":"0","text":"Daily activity summary from screenpipe","height":"0.011164274322169043","par_num":"0","word_num":"0","level":"0","block_num":"0","top":"0.5223285486443381","conf":"1","width":"0.08284882788962505"},{"text":"MacBook unexpected restarts and kanji","left":"0.005813958563533813","page_num":"0","level":"0","height":"0.010672468127626344","line_num":"0","width":"0.08284883296236079","conf":"1","par_num":"0","top":"0.5435540072342768","word_num":"0","block_num":"0"},{"height":"0.0071770334928229484","page_num":"0","line_num":"0","par_num":"0","top":"0.5677830940988836","conf":"1","level":"0","left":"0.005813954510684371","word_num":"0","block_num":"0","width":"0.08284882788962507","text":"Security patch review and testing guidar"},{"par_num":"0","page_num":"0","level":"0","text":"Tracking location history from last week","conf":"1","height":"0.010658575207042498","top":"0.6097560978743086","word_num":"0","width":"0.08139534199491459","left":"0.005813960270299965","line_num":"0","block_num":"0"},{"par_num":"0","block_num":"0","height":"0.010486303904410188","conf":"1","page_num":"0","word_num":"0","line_num":"0","text":"Screenpipe WAL processing when stopp","top":"0.6306620213543984","width":"0.08284883296236079","left":"0.0058139586675645255","level":"0"},{"text":"Reviewing recent conversation highlight","line_num":"0","left":"0.005813954522225305","top":"0.651515151624469","width":"0.08284882788962507","conf":"1","block_num":"0","page_num":"0","height":"0.010505753841126397","level":"0","par_num":"0","word_num":"0"},{"left":"0.005813953426321507","page_num":"0","top":"0.6759581884885157","line_num":"0","par_num":"0","level":"0","block_num":"0","conf":"0.5","height":"0.006968640444571461","text":"Mac allases not reco-nized","width":"0.05668604120295099","word_num":"0"},{"text":"Boosteroid still recording despite ignore","left":"0.005813954510684371","top":"0.6968641119944301","conf":"1","word_num":"0","block_num":"0","page_num":"0","width":"0.08284882788962507","par_num":"0","level":"0","line_num":"0","height":"0.007282618320349488"},{"page_num":"0","block_num":"0","left":"0.19186047184060315","par_num":"0","line_num":"0","height":"0.014354066985646008","text":"if (lempty($response['Retry-After'])) {","level":"0","conf":"1","width":"0.11046511061648104","top":"0.07655502392344493","word_num":"0"},{"line_num":"0","page_num":"0","conf":"1","width":"0.11482557337334817","top":"0.09728867612410008","left":"0.20348837064246447","level":"0","par_num":"0","text":"return (int) Sresponsel'Retry-After'JL0J;","block_num":"0","word_num":"0","height":"0.010725260921642499"},{"block_num":"0","conf":"0.5","top":"0.14982578452857043","left":"0.19186047224129565","par_num":"0","level":"0","text":"// Fall back to the interval window","width":"0.09883720316785449","height":"0.010461296951561616","line_num":"0","page_num":"0","word_num":"0"},{"word_num":"0","text":"if (lempty($response['X-HubSpot-RateLimit-Interval-Milliseconds'])) {","block_num":"0","height":"0.021531100478468956","left":"0.19186046807597842","top":"0.16347687400318978","par_num":"0","conf":"1","line_num":"0","page_num":"0","width":"0.19622092551373418","level":"0"},{"level":"0","par_num":"0","conf":"1","left":"0.20203488583926005","line_num":"0","page_num":"0","text":"return (int) ceil((int) §responsel'X-HubSpot-RateLimit-Interval-Milliseconds'J","top":"0.18815331097168042","width":"0.2194767201200445","block_num":"0","height":"0.010452960286604362","word_num":"0"},{"level":"0","top":"0.2439024390920519","width":"0.04360465293234966","page_num":"0","block_num":"0","line_num":"0","conf":"0.5","par_num":"0","height":"0.007293733113120093","left":"0.19186046430956974","word_num":"0","text":"sare deraulc"},{"top":"0.2613240421470522","conf":"0.30000001192092896","height":"0.006968640444571572","left":"0.19186046887394886","width":"0.02906976354883073","block_num":"0","text":"return 1o:","level":"0","page_num":"0","par_num":"0","line_num":"0","word_num":"0"},{"height":"0.010591889492442608","left":"0.17877907849573305","page_num":"0","width":"0.09738371220040831","conf":"1","level":"0","par_num":"0","text":"Proactive throttling improvement","line_num":"0","top":"0.3275261327072516","word_num":"0","block_num":"0"},{"level":"0","line_num":"0","word_num":"0","left":"0.17877905671166336","text":"Rather than just reacting to 429s, your rateLimiter->canMakeRequest Should also read X-","top":"0.3554006970542266","block_num":"0","height":"0.010628011238061563","par_num":"0","conf":"1","page_num":"0","width":"0.2296511670376392"},{"text":"Hubspot-ratel1mit-remarning rom successtu responses ane store 1t. so vou cai","level":"0","par_num":"0","top":"0.3763066203626071","width":"0.20203486909257604","word_num":"0","page_num":"0","block_num":"0","conf":"0.30000001192092896","line_num":"0","height":"0.007265947271952511","left":"0.1787790831571048"},{"block_num":"0","conf":"1","height":"0.01057799733236453","left":"0.17877906666718843","page_num":"0","par_num":"0","text":"preemptively back oft before hitting the wall:","top":"0.3937282228884904","line_num":"0","width":"0.1104651207619525","word_num":"0","level":"0"},{"block_num":"0","conf":"0.30000001192092896","height":"0.006968641205077342","top":"0.459930313546157","level":"0","page_num":"0","text":"Arrer a successtu saolalo, caouure neaders and sunc vour local bucket:","left":"0.18023255108060482","line_num":"0","width":"0.21656977876703792","par_num":"0","word_num":"0"},{"word_num":"0","conf":"1","block_num":"0","height":"0.014354066985646008","left":"0.18023255268891286","level":"0","line_num":"0","page_num":"0","top":"0.4736842105263157","width":"0.1875","par_num":"0","text":"$remaining = $response->getHeader ('X-HubSpot-RateLimit-Remaining'):"},{"left":"0.1802325732972581","page_num":"0","width":"0.19767440633570896","text":"$this->rateLimiter->syncRemaining($this->config, (int) $remaining[0]);","height":"0.011164274322169043","level":"0","par_num":"0","word_num":"0","top":"0.49441786283891553","block_num":"0","conf":"0.5","line_num":"0"},{"page_num":"0","left":"0.17877907081566252","word_num":"0","top":"0.5435540071471688","block_num":"0","line_num":"0","height":"0.010672468127626344","par_num":"0","width":"0.06540697686215666","conf":"1","level":"0","text":"Limits for vour context"},{"text":"For privately distributed apps (private apps / single-account installs):","par_num":"0","width":"0.17005813882706014","word_num":"0","level":"0","page_num":"0","block_num":"0","height":"0.010708589112739642","line_num":"0","top":"0.5714285718743967","left":"0.17877906367115468","conf":"1"},{"left":"0.18023256710259986","top":"0.5993031361342637","conf":"0.5","page_num":"0","block_num":"0","par_num":"0","text":"• Free/Starter: 100 rea / 10 sec der app. 250k/dav per account","height":"0.010744710858358708","word_num":"0","width":"0.15406975847609503","line_num":"0","level":"0"},{"par_num":"0","block_num":"0","text":"• Professional: 190 req / 10 sec per app, 625k/day per account","line_num":"0","top":"0.6236044657097288","left":"0.18023257723786876","width":"0.15406974833062356","conf":"1","height":"0.014354066985646008","level":"0","page_num":"0","word_num":"0"},{"page_num":"0","top":"0.6480836238742205","left":"0.18168605587817357","par_num":"0","text":"• Enterprise: 190 rea / 10 sec der app. 1M/day der account","height":"0.010608561301345465","conf":"0.5","level":"0","line_num":"0","word_num":"0","block_num":"0","width":"0.14389534199491458"},{"word_num":"0","conf":"1","block_num":"0","level":"0","page_num":"0","left":"0.17877906268744054","text":"The dailv limit resets at midnight in the account's confioured timezone. hubspot","top":"0.6864111504286012","line_num":"0","height":"0.010558546635142552","par_num":"0","width":"0.19767440633570893"},{"block_num":"0","conf":"1","par_num":"0","level":"0","line_num":"0","word_num":"0","page_num":"0","left":"0.17877905903977528","height":"0.010519646761710133","top":"0.717703349431025","text":"So your executeRequest flow is correct — just make sure parseRetryAfter properly falls","width":"0.22238372234587975"},{"page_num":"0","block_num":"0","line_num":"0","par_num":"0","text":"back to the interval neader, and deal v sunc remaining countsfrom success u responses to","word_num":"0","top":"0.7384370015438981","left":"0.17877907414770147","width":"0.2238371828769116","conf":"0.30000001192092896","level":"0","height":"0.007207597461803772"},{"conf":"0.5","left":"0.17877907926407474","page_num":"0","block_num":"0","par_num":"0","text":"avoid hittino 420c in the firet niace","level":"0","line_num":"0","top":"0.7559808612440191","width":"0.08575580475178171","word_num":"0","height":"0.0071770334928230595"},{"block_num":"0","width":"0.02034883549872865","word_num":"0","height":"0.010452960286604362","line_num":"0","top":"0.9128919869298685","level":"0","conf":"0.30000001192092896","page_num":"0","par_num":"0","text":"Replv…","left":"0.1758720948959844"},{"width":"0.02906976354883073","height":"0.010525203777842607","left":"0.3764534921199128","line_num":"0","level":"0","word_num":"0","top":"0.9441786283335306","page_num":"0","block_num":"0","conf":"0.5","par_num":"0","text":"Sonnet 4.6"},{"top":"0.9790940770743789","conf":"0.5","text":"^ Lukas Kovali!","line_num":"0","width":"0.03343022884206569","level":"0","block_num":"0","height":"0.007349304034949489","page_num":"0","par_num":"0","word_num":"0","left":"0.005813953860294247"},{"block_num":"0","conf":"0.30000001192092896","line_num":"0","par_num":"0","left":"0.23401164300125935","height":"0.0071770334928230595","page_num":"0","level":"0","text":"Caudo ic Aland can make mictakac Plence double-chock recnoncod","top":"0.9824561403508771","width":"0.12790696164394952","word_num":"0"},{"page_num":"0","level":"0","width":"0.06104650395981803","block_num":"0","line_num":"0","top":"0.05574912978701141","height":"0.010452960286604362","left":"0.511627908540182","par_num":"0","word_num":"0","text":"4 HS_local [jiminny@localhost]","conf":"0.5"},{"par_num":"0","page_num":"0","level":"0","text":"A console [EU]","width":"0.031976740410987414","word_num":"0","conf":"0.5","height":"0.010452960286604362","left":"0.6264534921253235","line_num":"0","top":"0.05574912943857935","block_num":"0"},{"conf":"0.5","width":"0.04360464785961404","par_num":"0","height":"0.010452960286604362","left":"0.6671511670183933","top":"0.05574912943857935","word_num":"0","level":"0","text":"« console [STAGING]","page_num":"0","line_num":"0","block_num":"0"},{"text":"Go jiminny","top":"0.0797448165869219","conf":"0.30000001192092896","width":"0.023255812360885253","word_num":"0","height":"0.011164274322169043","block_num":"0","level":"0","line_num":"0","par_num":"0","left":"0.6976744206304951","page_num":"0"},{"par_num":"0","top":"0.10104529661439754","block_num":"0","text":"* 037 A1 A35 Y63 ^ V","conf":"0.30000001192092896","level":"0","page_num":"0","left":"0.6511627964518826","line_num":"0","height":"0.01059744650857497","width":"0.07122092551373416","word_num":"0"},{"text":"sU l.n<»>I. on U.1d = cp.user 1d WHERE U.team_ 1d = 7115","word_num":"0","par_num":"0","width":"0.14534882281688932","block_num":"0","left":"0.49854651134203887","top":"0.12519936194607284","conf":"0.30000001192092896","level":"0","line_num":"0","page_num":"0","height":"0.007204819333990642"},{"page_num":"0","text":"ovider_id, '@', -1)) AS calendar_domain","line_num":"0","word_num":"0","par_num":"0","conf":"1","left":"0.4999999994561782","height":"0.010452961047110243","level":"0","top":"0.2822299657308003","block_num":"0","width":"0.1017441851027468"},{"level":"0","page_num":"0","text":"0cstatus = lactivel AND c.calendan nroviden id LTKE 1%0%.","conf":"0.30000001192092896","width":"0.1540697686215664","word_num":"0","block_num":"0","left":"0.49854651027306074","line_num":"0","top":"0.3341307815700798","par_num":"0","height":"0.007332632986552401"},{"text":"EX(c.calendar_provider_id, '@', -1))","height":"0.01049186092054244","par_num":"0","left":"0.5000000136414863","top":"0.40418118517443635","width":"0.09447673026551584","page_num":"0","word_num":"0","block_num":"0","line_num":"0","level":"0","conf":"1"},{"block_num":"0","left":"0.5014534980937468","level":"0","conf":"0.5","page_num":"0","par_num":"0","top":"0.4736842104693668","width":"0.07122092044099848","text":"1<->1..n: on c.user id = u.id","height":"0.010636346382007278","line_num":"0","word_num":"0"},{"line_num":"0","block_num":"0","par_num":"0","top":"0.00000000004986444590571182","width":"0.013081394611521024","text":"$0","height":"0.017421602252187474","page_num":"0","word_num":"0","conf":"0.30000001192092896","level":"0","left":"0.8575581397763615"},{"par_num":"0","text":"100% 5","width":"0.018895348335834172","line_num":"0","level":"0","conf":"0.30000001192092896","top":"0.006968641098971218","page_num":"0","height":"0.006968641205077342","left":"0.9127906980217457","word_num":"0","block_num":"0"},{"width":"0.04651162472177062","level":"0","text":"Mon 27 Apr 19:01:37","top":"0.0031897926052030234","line_num":"0","page_num":"0","conf":"1","par_num":"0","word_num":"0","height":"0.01074748898617195","left":"0.9476744221943781","block_num":"0"},{"width":"0.017441858636571994","word_num":"0","par_num":"0","block_num":"0","height":"0.010452960286604362","top":"0.05574912943857935","line_num":"0","conf":"1","level":"0","left":"0.7296511645770627","page_num":"0","text":"Cascade"},{"left":"0.7281976749791169","height":"0.007285397208668498","top":"0.08362369354010668","width":"0.04505813882706011","block_num":"0","level":"0","conf":"1","page_num":"0","line_num":"0","par_num":"0","word_num":"0","text":"Optimizing Userlrans"},{"line_num":"0","width":"0.02034883676691257","word_num":"0","height":"0.007285397208668498","level":"0","page_num":"0","block_num":"0","text":"+0 •","par_num":"0","conf":"0.30000001192092896","top":"0.08362369356690913","left":"0.9651162792848433"},{"par_num":"0","text":"lo al **","height":"0.007327075970420038","line_num":"0","top":"0.1076555023778929","width":"0.0159883714736776","conf":"0.30000001192092896","level":"0","word_num":"0","page_num":"0","left":"0.9651162793976159","block_num":"0"},{"height":"0.007357639939400973","line_num":"0","block_num":"0","conf":"1","par_num":"0","text":"what will happen if the user have some result removed but the cache shows it has it. I don't want to add migration.","left":"0.7543604839906534","page_num":"0","top":"0.1393728226143094","width":"0.22238370205493685","word_num":"0","level":"0"},{"top":"0.19512195151429612","level":"0","par_num":"0","left":"0.7296511728825985","line_num":"0","conf":"0.5","width":"0.17296511061648112","page_num":"0","word_num":"0","block_num":"0","text":"Short answer: with Cache::driver('array'), Staleness is a non-issue","height":"0.010619675333610301"},{"text":"The array driver lives only in PHP's memory for the current request. It's destroyed the moment the response is sent. So:","top":"0.21254355441437112","word_num":"0","height":"0.010741931970039587","level":"0","conf":"1","left":"0.7296511977160492","block_num":"0","line_num":"0","par_num":"0","page_num":"0","width":"0.24127903390438"},{"word_num":"0","top":"0.2334494774271001","width":"0.13226744469175944","line_num":"0","text":"• Stale window: milliseconds - the duration of one HTTP request","level":"0","conf":"1","left":"0.7325581389529937","block_num":"0","height":"0.010569661427913046","page_num":"0","par_num":"0"},{"par_num":"0","text":"transtormer reads true trom cache. User sees hasge","height":"0.007329854098233168","word_num":"0","top":"0.271777003894373","conf":"0.5","line_num":"0","width":"0.10610463771414247","left":"0.7383720957581157","level":"0","block_num":"0","page_num":"0"},{"line_num":"0","conf":"0.5","width":"0.08284882788962511","text":"queries and aets false. Comoletelv fine","top":"0.28548644321623873","height":"0.007196483429539047","word_num":"0","left":"0.738372102519872","block_num":"0","par_num":"0","page_num":"0","level":"0"},{"top":"0.2679425837320575","level":"0","height":"0.011164274322168932","word_num":"0","page_num":"0","block_num":"0","par_num":"0","line_num":"0","width":"0.1322674244008165","conf":"1","text":"eratedAiReports: true for ~50ms until their next request, which re-","left":"0.8473837379498167"},{"conf":"0.30000001192092896","page_num":"0","word_num":"0","left":"0.7296511934151275","level":"0","height":"0.006968640444571461","block_num":"0","width":"0.24418601583927235","line_num":"0","top":"0.306620209394439","text":"Thic ic not Podic Itc not charod acroce ronuocte workore or corvorc Think of it ac a ctotze varinhlo cconod to tho roauoct","par_num":"0"},{"left":"0.7296511638355944","height":"0.007315961177649544","line_num":"0","word_num":"0","level":"0","par_num":"0","block_num":"0","conf":"0.30000001192092896","top":"0.33797909453440456","width":"0.045058133754324436","page_num":"0","text":"What this buys you"},{"height":"0.0071770334928229484","conf":"0.5","par_num":"0","line_num":"0","word_num":"0","level":"0","block_num":"0","top":"0.3588516746411483","left":"0.7325581483422668","page_num":"0","text":"•Deduplicates the query it Userlranstormer::transtorm() is called multiple times tor the same user in one request (Fractal","width":"0.24854647859613954"},{"block_num":"0","page_num":"0","width":"0.07412789730315517","word_num":"0","line_num":"0","height":"0.006968640444571572","level":"0","conf":"0.5","par_num":"0","left":"0.7383721026966943","text":"includes. embedded resources. etc.","top":"0.3728222999867735"},{"level":"0","page_num":"0","top":"0.3937282229576903","text":"•Lero staleness risk bevond the request itselt.","height":"0.006968641205077342","par_num":"0","line_num":"0","block_num":"0","width":"0.09447674041098741","left":"0.7325581432520022","word_num":"0","conf":"0.5"},{"conf":"1","left":"0.7325581508301323","par_num":"0","page_num":"0","top":"0.41114982595421345","width":"0.11918603613021528","height":"0.010700253968793927","text":"• No migration, no schema change, no write-path coupling.","level":"0","line_num":"0","block_num":"0","word_num":"0"},{"conf":"0.30000001192092896","left":"0.7296511631143349","par_num":"0","line_num":"0","text":"What it does Not fiy","block_num":"0","width":"0.0479651156892168","page_num":"0","level":"0","word_num":"0","top":"0.43902439018796646","height":"0.006968641205077342"},{"block_num":"0","par_num":"0","height":"0.006968640444571461","line_num":"0","conf":"0.5","width":"0.24999997970905719","page_num":"0","word_num":"0","left":"0.7325581597447746","text":"• The first call ner requect still runs the querv. So lucers/current stilll navs the cost once ner nade load. It onlv helns if trans","top":"0.4599303139240558","level":"0"},{"block_num":"0","height":"0.007324297082101028","level":"0","page_num":"0","line_num":"0","conf":"0.5","width":"0.06686046782960287","word_num":"0","left":"0.7296511609811828","text":"Quick check — is that happenina?","top":"0.49825783990011896","par_num":"0"},{"par_num":"0","text":"49485* # team 565 crm 557","level":"0","word_num":"0","top":"0.5470383278142917","left":"0.49854651321989146","block_num":"0","line_num":"0","height":"0.007188147525087785","conf":"0.5","width":"0.06686045768413135","page_num":"0"},{"conf":"0.5","level":"0","page_num":"0","height":"0.011164274322169154","left":"0.5000000057470804","text":"72382: # team 563 crm 537","block_num":"0","top":"0.5606060606060606","word_num":"0","line_num":"0","width":"0.0654069717894209","par_num":"0"},{"block_num":"0","left":"0.4999999992070341","page_num":"0","top":"0.5818815334362508","level":"0","word_num":"0","line_num":"0","width":"0.0654069717894209","conf":"0.30000001192092896","text":"00589: # team so5 crm 55","par_num":"0","height":"0.006968640444571461"},{"top":"0.5993031358511972","width":"0.06540697686215663","level":"0","par_num":"0","word_num":"0","page_num":"0","line_num":"0","height":"0.006968641205077342","left":"0.49999999994328587","conf":"0.30000001192092896","block_num":"0","text":"8175: # team so5 crm 55"},{"line_num":"0","word_num":"0","left":"0.5000000007457174","height":"0.010455739935429254","conf":"1","level":"0","text":"20297: # team 563 crm 537","par_num":"0","top":"0.6132376395302542","block_num":"0","width":"0.06540697686215657","page_num":"0"},{"par_num":"0","conf":"0.30000001192092896","left":"0.5000000057790301","line_num":"0","top":"0.6339712918660287","word_num":"0","height":"0.0071770334928229484","block_num":"0","width":"0.045058133754324436","text":"ty 1d = 580812757","level":"0","page_num":"0"},{"width":"0.1119186015839273","text":"iquration id = 537 and provider = 'aircall'","top":"0.668989547184679","word_num":"0","par_num":"0","page_num":"0","level":"0","line_num":"0","height":"0.0072464973352361906","left":"0.5000000030593383","conf":"0.5","block_num":"0"},{"par_num":"0","block_num":"0","left":"0.5000000037698947","text":"ted at desc.","top":"0.6826156298906554","width":"0.0319767404109873","page_num":"0","level":"0","line_num":"0","height":"0.010764160795074917","word_num":"0","conf":"0.30000001192092896"},{"width":"0.09156975847609505","word_num":"0","height":"0.00732985409823339","left":"0.5000000095554807","text":"unation id = 537 and id = 35957759•","page_num":"0","line_num":"0","block_num":"0","par_num":"0","top":"0.7208931420073937","level":"0","conf":"0.30000001192092896"},{"conf":"0.5","top":"0.7384370015438981","page_num":"0","height":"0.007207597461803772","line_num":"0","word_num":"0","level":"0","text":"unation id = 537 and id = 19003658÷","left":"0.5000000095554807","block_num":"0","par_num":"0","width":"0.09156975847609505"},{"left":"0.5000000013346088","line_num":"0","page_num":"0","top":"0.773519164162856","word_num":"0","level":"0","block_num":"0","text":"where id = 1976","width":"0.04069767099745736","conf":"1","par_num":"0","height":"0.010452961047110132"},{"par_num":"0","text":"Id = 583;","word_num":"0","width":"0.02325581236088531","line_num":"0","height":"0.014354066985645897","level":"0","conf":"0.30000001192092896","top":"0.7870813397129187","block_num":"0","page_num":"0","left":"0.4985465136439246"},{"word_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","level":"0","block_num":"0","left":"0.5000000019907199","par_num":"0","text":".d = 87714;","top":"0.8083623697944038","height":"0.010616896445291069","width":"0.026162789223041938"},{"top":"0.8221690592673908","left":"0.5000000014827866","text":"here activity_search_id = 87714;","page_num":"0","block_num":"0","width":"0.08430232392980697","height":"0.017552194793068465","conf":"1","line_num":"0","par_num":"0","word_num":"0","level":"0"},{"block_num":"0","line_num":"0","width":"0.1308139435788419","conf":"0.30000001192092896","left":"0.5000000103944912","level":"0","par_num":"0","top":"0.8604465709728868","height":"0.0071770334928229484","text":"hin(199274472.202d-1140.0d04-72££5£05kkaQt) = muid","page_num":"0","word_num":"0"},{"height":"0.0071770334928229484","width":"0.05813952709766146","block_num":"0","par_num":"0","word_num":"0","line_num":"0","text":"-CeASLA2001011) = uid.","conf":"0.30000001192092896","left":"0.5014534960821777","page_num":"0","top":"0.8779904306220095","level":"0"},{"left":"0.7296511632144582","level":"0","par_num":"0","word_num":"0","width":"0.050872087478637695","height":"0.007310404161517181","line_num":"0","conf":"1","page_num":"0","top":"0.5644599307143667","block_num":"0","text":"contirming the scope"},{"text":"The query at lline 139 onlv tires when withsel fVisibilitv is true or autho-susero-sid zz= Suser-sid (lline 69). Lookina at","line_num":"0","page_num":"0","par_num":"0","block_num":"0","conf":"0.5","word_num":"0","height":"0.006968641205077342","width":"0.2441860564211582","left":"0.7311046444850012","level":"0","top":"0.581881533053924"},{"level":"0","line_num":"0","par_num":"0","word_num":"0","block_num":"0","height":"0.006968640444571461","page_num":"0","conf":"0.30000001192092896","left":"0.7296511623762831","top":"0.5993031362237073","width":"0.023255812360885253","text":"the usages"},{"conf":"1","height":"0.01075026787449107","par_num":"0","top":"0.6164274321712074","block_num":"0","width":"0.24273253501729763","level":"0","word_num":"0","text":"• Most UserTransformer uses (comment authors, activity organizers, coaches, participants...) don't take the self-visibility","line_num":"0","left":"0.7311046513754559","page_num":"0"},{"par_num":"0","page_num":"0","width":"0.08720929571922786","top":"0.6339712918660287","word_num":"0","text":"branch — so the auerv doesn't run for them.","conf":"1","height":"0.0071770334928229484","level":"0","block_num":"0","line_num":"0","left":"0.7398255883747145"},{"height":"0.010505753841126397","level":"0","par_num":"0","left":"0.7311046781822051","line_num":"0","conf":"1","block_num":"0","text":"•It runs for the authenticated user on endpoints like /users/current, PartnerController::me, KioskProfileController, Sea","top":"0.651515151450253","width":"0.2514534605310318","word_num":"0","page_num":"0"},{"top":"0.6897926635444678","line_num":"0","width":"0.2470929977741647","word_num":"0","block_num":"0","height":"0.01055576774682343","left":"0.7296511894815535","level":"0","text":"For SearchController returning a user collection that includes yourself, transform() may get called for the same user id only","conf":"1","page_num":"0","par_num":"0"},{"line_num":"0","page_num":"0","word_num":"0","block_num":"0","conf":"1","height":"0.010680803271571948","left":"0.7296511795294159","par_num":"0","text":"once (vou appear in the list once). So honestiv, the per-request dedupe benefit is marainal here too","top":"0.7038327533286762","width":"0.1947674244008165","level":"0"},{"text":"Final recommendation","par_num":"0","left":"0.7296511669522509","line_num":"0","width":"0.052325578446083876","word_num":"0","block_num":"0","top":"0.7351916379943421","level":"0","height":"0.007232604414652344","conf":"1","page_num":"0"},{"height":"0.006968640444571461","text":"Given","par_num":"0","left":"0.729651162505286","level":"0","block_num":"0","conf":"1","top":"0.7560975613108154","page_num":"0","width":"0.013081394611520913","word_num":"0","line_num":"0"},{"block_num":"0","par_num":"0","left":"0.734011629874255","text":"• You don't want a migration","level":"0","page_num":"0","height":"0.007257611367501027","top":"0.7767145136381128","word_num":"0","width":"0.05813952709766146","line_num":"0","conf":"0.5"},{"top":"0.7942583732057417","width":"0.2398255733733481","word_num":"0","line_num":"0","par_num":"0","height":"0.0071770334928229484","block_num":"0","level":"0","page_num":"0","text":"•once()) I arrav cache provides oniv marainal benefit because transformo isn't called multiole times per reauest for the","left":"0.732558148264708","conf":"0.5"},{"block_num":"0","page_num":"0","level":"0","par_num":"0","conf":"1","height":"0.010616896445291069","word_num":"0","line_num":"0","top":"0.8083623697944038","text":"same self-user in practice","width":"0.050872087478637695","left":"0.739825586937358"},{"par_num":"0","conf":"0.5","page_num":"0","block_num":"0","left":"0.732558151795243","line_num":"0","level":"0","height":"0.007254833239687675","text":"• The auery is already exists() witha team id -indexed subauerv","width":"0.13517440633570899","top":"0.8292682928942409","word_num":"0"},{"line_num":"0","height":"0.010547431842372057","left":"0.7311046709120791","page_num":"0","width":"0.24563951695219","text":"Just leave it. The honest answer is the code is fine as-is until you see it in slow query logs. Adding Cache::driver('array') is","top":"0.8500797449888496","level":"0","word_num":"0","conf":"0.5","block_num":"0","par_num":"0"},{"word_num":"0","level":"0","text":"If you want the belt-and-suspenders version anyway, here it is - staleness is bounded to the current request and cannot cross","block_num":"0","conf":"1","height":"0.011164274322169154","page_num":"0","top":"0.8811802232854864","width":"0.2470929977741647","line_num":"0","left":"0.7296511903153156","par_num":"0"},{"text":"Ask anvthina (&+b)","top":"0.9266347687400319","block_num":"0","left":"0.7311046506301891","par_num":"0","word_num":"0","conf":"0.30000001192092896","line_num":"0","page_num":"0","level":"0","height":"0.0071770334928229484","width":"0.04069767099745725"},{"width":"0.0668604576841314","level":"0","text":"<> Code Claude Qnus 4.7 Medium","top":"0.9545454545454546","page_num":"0","block_num":"0","conf":"0.30000001192092896","left":"0.736918606017625","line_num":"0","height":"0.0071770334928229484","word_num":"0","par_num":"0"},{"width":"0.015988370205493707","top":"0.986062718234409","line_num":"0","block_num":"0","height":"0.01074748898617195","level":"0","text":"Pa 4 sp","word_num":"0","conf":"0.30000001192092896","page_num":"0","left":"0.9694767460118122","par_num":"0"}]...
|
iTerm2
|
AppleNative
|
NULL
|
1
|
5376
|
NULL
|
NULL
|