|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Contracts\Routing\UrlGenerator;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AskJiminnyReportActivityService;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateAskJiminnyReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
private const string LOG_PREFIX = '[AskJiminnyReport:Generate]';
private const int MIN_ACTIVITIES_COUNT = 1;
public int $tries = 2;
private ?AutomatedReportResult $reportResult = null;
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
AskJiminnyReportActivityService $activityService,
ProphetClient $prophetClient,
LoggerInterface $logger,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
): void {
$logger->info(self::LOG_PREFIX . ' Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport($this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$creator = $automatedReport->getCreator();
if ($creator === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, report creator not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$savedSearch = $automatedReport->getSavedSearch();
if ($savedSearch === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, saved search not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$prompt = $automatedReport->getAskAnythingPrompt();
if ($prompt === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, ask anything prompt not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$this->reportResult = $reportService->getOrCreateReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
$activityIds = $activityService->getActivityIdsForSavedSearch(
savedSearch: $savedSearch,
user: $creator,
frequency: $automatedReport->getFrequency(),
);
$activityCount = count($activityIds);
$logger->info(self::LOG_PREFIX . ' Fetched activity IDs', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
if ($activityCount < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
$this->dispatchNotGeneratedNotifications(
$automatedReport,
$reportService,
$urlGenerator,
$jobDispatcher,
$logger,
);
return;
}
$payload = $reportService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $this->reportResult,
activityIds: $activityIds,
);
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'payload' => $payload,
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => Carbon::now()->toDateTimeString(),
]);
$logger->info(self::LOG_PREFIX . ' Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::ASK_JIMINNY_REPORT,
requestArray: $payload,
);
$logger->info(self::LOG_PREFIX . ' Response received', [
'response' => $response->getContent(),
]);
} catch (Throwable $exception) {
$reason = $exception instanceof ProphetException
? AutomatedReportResult::REASON_PROPHET_API_ERROR
: AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(self::LOG_PREFIX . ' Error', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult?->getUuid(),
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if ($automatedReport->getType() !== AutomatedReportsService::TYPE_ASK_JIMINNY) {
$logger->warning(self::LOG_PREFIX . ' Skipped, not an ask_jiminny report', [
'automatedReportUuid' => $this->reportUuid,
'type' => $automatedReport->getType(),
]);
return false;
}
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
$this->reportResult?->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
private function dispatchNotGeneratedNotifications(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
LoggerInterface $logger,
): void {
if ($this->reportResult === null) {
return;
}
$recipients = $reportService->getValidRecipientUsers($automatedReport);
if (empty($recipients)) {
$logger->info(self::LOG_PREFIX . ' No recipients to notify about missing report', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$reportName = $automatedReport->getCustomName()
?: $reportService->getReportTypeName($this->reportResult);
$periodName = $reportService->getReportPeriodName($this->reportResult);
$reportsPageUrl = $urlGenerator->route('ai.reports.show');
foreach ($recipients as $recipient) {
$jobDispatcher->dispatch(new SendReportNotGeneratedMailJob(
reportUuid: $this->reportResult->getUuid(),
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
reportName: $reportName,
periodName: $periodName,
reportsPageUrl: $reportsPageUrl,
));
}
$logger->info(self::LOG_PREFIX . ' Dispatched not-generated notifications', [
'automatedReportUuid' => $this->reportUuid,
'recipientsCount' => count($recipients),
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – RequestGenerateAskJiminnyReportJob.php
|
NULL
|
77660
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
DMSActivityMorerireroxToolsHelpcalMistorbookmarksJiminny …..vXStarredi• jiminny-x-integrati..8 platform-inner-teamE) Channels# ai-chapter# ai-team# alerts# backend# c-learning-peoplei confusion-clinic# curiosity_labadeal-insichts-dev# engineering# frontend# general# infra-changes# jiminny-bg8 people-with-copilo...8 people-with-zoom-# platform-team# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the Deople of iimi...ProtllesWindow& platform-inner-...& 10MessagesChannel OverviewMoreYesterdayjinnylaop Aor 22nd Added by GitHubNikolay Ivanov 3:24 PMнякой нещо да е настроивал по githubactions. Почна да прави къмити вместо менбез да съм му разрешевал?https:/github.com/lminnv/app/pull/1200//changes/a68f42f210859f838a4fdced451f750627besoioИли нещо аз не разбирам?0AA0e 20 replies Last reply 18...Nikolay Yankov 3:50PMreplied to a uhread: някои нешо ла е насто..лол. ами предлагам маи ла му заораним лапускам към всички ла вилятNikolav Yankov 9.38 AMЩе се забавя за дейлито. Започнете без Мен.Aneliva Angelova 9:43 AMIДобро утро, няма да успея да вляза влейлито. Пествам ньлжовете.Message & platform-inner-team+ Aa I..•) New TabAl reports promotion pages by nik• JY-9712 | Nuges to expire after on8 Jiminnyu Userpilot Logged-activityJY-20157 add not enough activ XPipelines - jiminny/app+ New Tab©github.com/jimjiminny / app 8<> Code87 Pull requests 31( Agents |© Actions•• Wiki © Security and quality 32 ~ Insights 3 Settings@ On April 24 we'll start using GitHub Copilot interaction data for Al model training unless you opt out. Review this update and manage your preferences in your GitHub account settings.JY-20157 add not enough activities notification #12011 •$1 Open LakyLak wants to merge 2 commits into master from JY-20157-AJ-report-not-send-notification@) Conversation o• Commits 2|- Checks 21E Files changed 13A © All commits +Q Filter files...apo/Console/Commands/Reports/AutomatedReportsCommand.ohp@ -61,21 +61,29 @ public function handle(): intv = Console/Commands/Renorts|Snow = Carbon: : now();E AutomatedReportsCommand...v Jobs/AutomatedReportsE RequestGenerateAskJiminnyR...SendReportNotGeneratedMail...v @ Listeners/AutomatedReports/U….E TrackAutomatedReportGener...v # Mail/ReportsS1sMondav = Snow->1SMonday)S1sr1rstDayUtMonth = Snow->day === 1;ScurrentMonth = Snow->month.// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);$this->logger->info(self::LOG_PREFIX . ' Checking conditions', [+ ReportNotGenerated.ohp |"1SMonday' => S1SMonday,~ E Services/Kiosk/AutomatedRepo…..AskJiminnyReportActivityServ…'isFirstDay0fMonth' => SisFirstDay0fMonth,'currentMonth' => ScurrentMonth.E AutomatedReportsService.php'isQuarterlyMonth' => SisQuarterlyMonth,~E resources/views/emails/reportsreport-not-generated.blade.php/I Process dailv revortsl• F tests/UnitSthis->processReports(AutomatedReportsService::FREQUENCYDAILY):~ Jobs/AutomatedReportsE ReguestGenerateAsk JiminnvR....v = listeners/AutomatedRenorts/U.₴ TrackAutomatedReportGener..v E Services/Kiosk/AutomatedRepo…..E AskJiminnyReportActivityServ....AutomatedReportsServiceActi…./ Process weekly renorts on Mondavcif (SisMondav) {64 +67 +74 +86 +@40@ Daily - Platform - nowQ Type to search100% C4 8• Fri 24 Apr 9:46:13• Checks pending Code • (Preview) -+384 -52 9000C 0 I 13 viewedSubmit review+10 -2 mane [ Viewed0 ...Snow = Carhon:.nowdSisMondav = Snow->1SMonday)"Sisweekend = $now->isWeekend():SisFirstDay0fMonth = Snow->day === 1;ScurrentMonth = Snow->month.SisManualTrigger = $this->option('report-id') !== null;// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);Sthis->loager->info(self::L0G PREFIX . ' Checkina conditions'. [I"isMonday' => SisMonday,'isweekend' => $isWeekend,'isFirstDay0fMonth' => $isFirstDay0fMonth,'currentMonth' => ScurrentMonth.l'isQuarterlyMonth' => SisQuarterlyMonth,/ Process dailv renorts on weekdavs onlv (skio Saturdav/Sundav)...// Manual triggers via --report-id bypass the weekend skip.if (I Sisweekend || SisManualTriager) {Sthis->processReports(AutomatedReportsService::FREQUENCY_DAILY):} else {ISthis->logger->info(self::L0G PREFIX . ' Skipping daily reports on weekend'):/ Process weekly renorts on Mondavslif (SisMonday) {...
|
PhpStorm
|
faVsco.js – RequestGenerateAskJiminnyReportJob.php
|
NULL
|
77661
|
|
Firefox• 0FileEditViewHistory→BookmarksProfilesToo Firefox• 0FileEditViewHistory→BookmarksProfilesToolsWindowHelpmeet.google.com/agt-teir-cwt?authuser=lukas.kovalik%40jiminny.com•Daily - Platform - now100% K78 • Fri 24 Apr 9:46:13|=Pop out this videoNikolay NikolovStefka StoyanovaGalya DimitrovaLukas Kovalik9:46 AM | Daily - Platform• 0:27...
|
PhpStorm
|
faVsco.js – RequestGenerateAskJiminnyReportJob.php
|
NULL
|
77662
|
|
DMSActivityMorerireroxToolsHelpcalMistorbookmarksJ DMSActivityMorerireroxToolsHelpcalMistorbookmarksJiminny …..vXStarredi• jiminny-x-integrati..8 platform-inner-teamE) Channels# ai-chapter# ai-team# alerts# backend# c-learning-peoplei confusion-clinic# curiosity_labadeal-insichts-dev# engineering# frontend# general# infra-changes# jiminny-bg8 people-with-copilo...8 people-with-zoom-# platform-team# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the Deople of iimi...ProtllesWindow& platform-inner-...& 10MessagesChannel OverviewMoreYesterdayjinnylaop Aor 22nd Added by GitHubNikolay Ivanov 3:24 PMнякой нещо да е настроивал по githubactions. Почна да прави къмити вместо менбез да съм му разрешевал?https:/github.com/lminnv/app/pull/1200//changes/a68f42f210859f838a4fdced451f750627besoioИли нещо аз не разбирам?0AA0e 20 replies Last reply 18...Nikolay Yankov 3:50PMreplied to a uhread: някои нешо ла е насто..лол. ами предлагам маи ла му заораним лапускам към всички ла вилятNikolav Yankov 9.38 AMЩе се забавя за дейлито. Започнете без Мен.Aneliva Angelova 9:43 AMIДобро утро, няма да успея да вляза влейлито. Пествам ньлжовете.Message & platform-inner-team+ Aa I..•) New TabAl reports promotion pages by nik• JY-9712 | Nuges to expire after on8 Jiminnyu Userpilot Logged-activityJY-20157 add not enough activ XPipelines - jiminny/app+ New Tab©github.com/jimjiminny / app 8<> Code87 Pull requests 31( Agents |© Actions•• Wiki © Security and quality 32 ~ Insights 3 Settings@ On April 24 we'll start using GitHub Copilot interaction data for Al model training unless you opt out. Review this update and manage your preferences in your GitHub account settings.JY-20157 add not enough activities notification #12011 •$1 Open LakyLak wants to merge 2 commits into master from JY-20157-AJ-report-not-send-notification@) Conversation o• Commits 2|- Checks 21E Files changed 13A © All commits +Q Filter files...apo/Console/Commands/Reports/AutomatedReportsCommand.ohp@ -61,21 +61,29 @ public function handle(): intv = Console/Commands/Renorts|Snow = Carbon: : now();E AutomatedReportsCommand...v Jobs/AutomatedReportsE RequestGenerateAskJiminnyR...SendReportNotGeneratedMail...v @ Listeners/AutomatedReports/U….E TrackAutomatedReportGener...v # Mail/ReportsS1sMondav = Snow->1SMonday)S1sr1rstDayUtMonth = Snow->day === 1;ScurrentMonth = Snow->month.// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);$this->logger->info(self::LOG_PREFIX . ' Checking conditions', [+ ReportNotGenerated.ohp |"1SMonday' => S1SMonday,~ E Services/Kiosk/AutomatedRepo…..AskJiminnyReportActivityServ…'isFirstDay0fMonth' => SisFirstDay0fMonth,'currentMonth' => ScurrentMonth.E AutomatedReportsService.php'isQuarterlyMonth' => SisQuarterlyMonth,~E resources/views/emails/reportsreport-not-generated.blade.php/I Process dailv revortsl• F tests/UnitSthis->processReports(AutomatedReportsService::FREQUENCYDAILY):~ Jobs/AutomatedReportsE ReguestGenerateAsk JiminnvR....v = listeners/AutomatedRenorts/U.₴ TrackAutomatedReportGener..v E Services/Kiosk/AutomatedRepo…..E AskJiminnyReportActivityServ....AutomatedReportsServiceActi…./ Process weekly renorts on Mondavcif (SisMondav) {64 +67 +74 +86 +@40@ Daily - Platform - nowQ Type to search100% C4 8• Fri 24 Apr 9:46:13• Checks pending Code • (Preview) -+384 -52 9000C 0 I 13 viewedSubmit review+10 -2 mane [ Viewed0 ...Snow = Carhon:.nowdSisMondav = Snow->1SMonday)"Sisweekend = $now->isWeekend():SisFirstDay0fMonth = Snow->day === 1;ScurrentMonth = Snow->month.SisManualTrigger = $this->option('report-id') !== null;// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);Sthis->loager->info(self::L0G PREFIX . ' Checkina conditions'. [I"isMonday' => SisMonday,'isweekend' => $isWeekend,'isFirstDay0fMonth' => $isFirstDay0fMonth,'currentMonth' => ScurrentMonth.l'isQuarterlyMonth' => SisQuarterlyMonth,/ Process dailv renorts on weekdavs onlv (skio Saturdav/Sundav)...// Manual triggers via --report-id bypass the weekend skip.if (I Sisweekend || SisManualTriager) {Sthis->processReports(AutomatedReportsService::FREQUENCY_DAILY):} else {ISthis->logger->info(self::L0G PREFIX . ' Skipping daily reports on weekend'):/ Process weekly renorts on Mondavslif (SisMonday) {...
|
PhpStorm
|
faVsco.js – ReportNotGenerated.php
|
NULL
|
77663
|
|
Firefox• 0FileEditViewHistory→BookmarksProfilesToo Firefox• 0FileEditViewHistory→BookmarksProfilesToolsWindowHelpmeet.google.com/agt-teir-cwt?authuser=lukas.kovalik%40jiminny.com•Daily - Platform - now100% K78 • Fri 24 Apr 9:46:13|=Pop out this videoNikolay NikolovStefka StoyanovaGalya DimitrovaLukas Kovalik9:46 AM | Daily - Platform• 0:27...
|
iTerm2
|
NULL
|
NULL
|
77664
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
<?php
declare(strict_types=1);
namespace Jiminny\Mail\Reports;
use Jiminny\Mail\Mailable;
class ReportNotGenerated extends Mailable
{
public function __construct(
private readonly string $reportName,
private readonly string $periodName,
private readonly string $reportsPageUrl,
private readonly string $mailSubject,
) {
}
public function build(): Mailable
{
$logoCDN = config('logos.cdn.header');
$fullLogoCDN = config('logos.cdn.footer');
$fromAddress = config('mail.from.address');
if (config('jiminny.deploy_region') === 'eu') {
$fromAddress = '[EMAIL]';
}
return $this
->from($fromAddress, config('mail.from.name'))
->view('emails.reports.report-not-generated', [
'reportName' => $this->reportName,
'periodName' => $this->periodName,
'reportsPageUrl' => $this->reportsPageUrl,
'isReport' => true,
'headerLogoCdn' => $logoCDN,
'footerLogoCdn' => $fullLogoCDN,
])
->subject($this->mailSubject);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – ReportNotGenerated.php
|
NULL
|
77665
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
<?php
declare(strict_types=1);
namespace Jiminny\Mail\Reports;
use Jiminny\Mail\Mailable;
class ReportNotGenerated extends Mailable
{
public function __construct(
private readonly string $reportName,
private readonly string $periodName,
private readonly string $reportsPageUrl,
private readonly string $mailSubject,
) {
}
public function build(): Mailable
{
$logoCDN = config('logos.cdn.header');
$fullLogoCDN = config('logos.cdn.footer');
$fromAddress = config('mail.from.address');
if (config('jiminny.deploy_region') === 'eu') {
$fromAddress = '[EMAIL]';
}
return $this
->from($fromAddress, config('mail.from.name'))
->view('emails.reports.report-not-generated', [
'reportName' => $this->reportName,
'periodName' => $this->periodName,
'reportsPageUrl' => $this->reportsPageUrl,
'isReport' => true,
'headerLogoCdn' => $logoCDN,
'footerLogoCdn' => $fullLogoCDN,
])
->subject($this->mailSubject);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – ReportNotGenerated.php
|
NULL
|
77666
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Mail\Reports;
use Jiminny\Mail\Mailable;
class ReportNotGenerated extends Mailable
{
public function __construct(
private readonly string $reportName,
private readonly string $periodName,
private readonly string $reportsPageUrl,
private readonly string $mailSubject,
) {
}
public function build(): Mailable
{
$logoCDN = config('logos.cdn.header');
$fullLogoCDN = config('logos.cdn.footer');
$fromAddress = config('mail.from.address');
if (config('jiminny.deploy_region') === 'eu') {
$fromAddress = '[EMAIL]';
}
return $this
->from($fromAddress, config('mail.from.name'))
->view('emails.reports.report-not-generated', [
'reportName' => $this->reportName,
'periodName' => $this->periodName,
'reportsPageUrl' => $this->reportsPageUrl,
'isReport' => true,
'headerLogoCdn' => $logoCDN,
'footerLogoCdn' => $fullLogoCDN,
])
->subject($this->mailSubject);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – ReportNotGenerated.php
|
NULL
|
77667
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Mail\Reports;
use Jiminny\Mail\Mailable;
class ReportNotGenerated extends Mailable
{
public function __construct(
private readonly string $reportName,
private readonly string $periodName,
private readonly string $reportsPageUrl,
private readonly string $mailSubject,
) {
}
public function build(): Mailable
{
$logoCDN = config('logos.cdn.header');
$fullLogoCDN = config('logos.cdn.footer');
$fromAddress = config('mail.from.address');
if (config('jiminny.deploy_region') === 'eu') {
$fromAddress = '[EMAIL]';
}
return $this
->from($fromAddress, config('mail.from.name'))
->view('emails.reports.report-not-generated', [
'reportName' => $this->reportName,
'periodName' => $this->periodName,
'reportsPageUrl' => $this->reportsPageUrl,
'isReport' => true,
'headerLogoCdn' => $logoCDN,
'footerLogoCdn' => $fullLogoCDN,
])
->subject($this->mailSubject);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – ReportNotGenerated.php
|
NULL
|
77668
|
|
Last login: Thu Apr 23 14:01:28 on ttys007
Poetry Last login: Thu Apr 23 14:01:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ git status
On branch JY-20157-AJ-report-not-send-notification
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ git status
On branch JY-20372-ai-reports-promotion-pages
Your branch is up to date with 'origin/JY-20372-ai-reports-promotion-pages'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ git pull
remote: Enumerating objects: 1015, done.
remote: Counting objects: 100% (262/262), done.
remote: Compressing objects: 100% (143/143), done.
remote: Total 1015 (delta 167), reused 129 (delta 119), pack-reused 753 (from 3)
Receiving objects: 100% (1015/1015), 851.14 KiB | 2.09 MiB/s, done.
Resolving deltas: 100% (613/613), completed with 65 local objects.
From github.com:jiminny/app
c3c8d86b22..68bb20c72a JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
3ac71c265a..595c95b7e0 JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
* [new branch] JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
* [new branch] JY-20478-stop-sync-calendar-emails -> origin/JY-20478-stop-sync-calendar-emails
d4d05c775b..b11048beed JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
10d290c778..a250abe939 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
* [new branch] JY-20713-activity-sync-job-restart -> origin/JY-20713-activity-sync-job-restart
242cf1b554..96a22e59f2 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
* [new branch] fix-close-missing-logger-error -> origin/fix-close-missing-logger-error
0dd5b23990..60fa1787c1 master -> origin/master
f044edca5b..e7e0e50b27 secfix/npm-20260416 -> origin/secfix/npm-20260416
* [new branch] secfix/npm-20260423 -> origin/secfix/npm-20260423
Updating c3c8d86b22..68bb20c72a
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/ActivitySearch/FilterDefinition/ActivityUpdatedDate.php | 7 +-
app/Component/ActivitySearch/Service/ActivitySearch.php | 15 ++
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ProphetAi/ProphetClient.php | 5 +
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 +++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++-----
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++
app/Console/Commands/Reports/AutomatedReportsCommand.php | 91 +++++++++++-
app/Console/Commands/Reports/AutomatedReportsSendCommand.php | 40 +++++-
app/Console/Kernel.php | 4 +
app/Contracts/Services/Crm/ImportsBusinessProcessesInterface.php | 15 ++
app/Contracts/Services/Crm/Provider/SalesforceInterface.php | 12 +-
app/Contracts/Services/Crm/ServiceInterface.php | 29 ----
app/Contracts/Services/Crm/SyncCrmMetadataInterface.php | 6 +-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 15 ++
app/Http/Controllers/API/CrmController.php | 19 ++-
app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 33 ++++-
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 2 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 2 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 64 ++++++---
app/Http/Controllers/Webhook/ReportController.php | 5 +
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Activity/SyncActivity.php | 3 +-
app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 210 ++++++++++++++++++++++++++++
app/Jobs/AutomatedReports/SendReportJob.php | 2 +
app/Jobs/AutomatedReports/SendReportMailJob.php | 6 +-
app/Jobs/Crm/SyncActivity.php | 10 ++
app/Jobs/Crm/SyncHubspotObjects.php | 120 ++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 26 ++--
app/Jobs/Crm/SyncTeamMetadata.php | 14 +-
app/Listeners/AutomatedReports/UserPilot/TrackAutomatedReportGeneratedEvent.php | 82 +++++++++++
app/Listeners/Crm/ResolveOwner.php | 21 +--
app/Mail/Reports/ReportWithAttachment.php | 7 +-
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Models/Contracts/UserContract.php | 6 +
app/Providers/EventServiceProvider.php | 4 +
app/Repositories/AutomatedReportsRepository.php | 76 +++++++++-
app/Repositories/Crm/CrmEntityRepository.php | 40 ++++++
app/Services/Crm/BaseService.php | 13 --
app/Services/Crm/Bullhorn/BullhornService.php | 21 ---
app/Services/Crm/Close/Service.php | 38 -----
app/Services/Crm/Copper/Service.php | 37 -----
app/Services/Crm/Dummy/Service.php | 25 ----
app/Services/Crm/Hubspot/Service.php | 37 -----
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++--
app/Services/Crm/IntegrationApp/Service.php | 2 +
app/Services/Crm/IntegrationApp/ServiceTraits/NotSupportedTrait.php | 12 +-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmMetadataTrait.php | 5 -
app/Services/Crm/Pipedrive/Service.php | 43 +-----
app/Services/Crm/Salesforce/Service.php | 13 +-
app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 143 +++++++++++++++++++
app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 222 +++++++++++++++++++++++++----
front-end/package.json | 2 +-
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/AiReports/AiReports.vue | 9 +-
front-end/src/components/AiReports/GridCells/ActionsCell.vue | 107 +++++++++++---
front-end/src/components/AiReports/GridCells/NameCell.vue | 13 +-
front-end/src/components/AiReports/GridCells/TypeIndicator.vue | 26 ++--
front-end/src/components/AiReports/Manage/CreateDefinition/CreateDefinitionDrawer.vue | 4 +-
front-end/src/components/AiReports/Manage/ExpiringCell.vue | 86 ++++++++++++
front-end/src/components/AiReports/Manage/ManageAiReports.less | 6 +
front-end/src/components/AiReports/Manage/ManageAiReports.vue | 6 +-
front-end/src/components/AiReports/Manage/__tests__/ExpiringCell.spec.js | 116 +++++++++++++++
front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.js | 32 +++--
front-end/src/components/AiReports/Manage/__tests__/__snapshots__/create-definition-drawer.output.html | 83 ++++++++---
front-end/src/components/AiReports/Manage/__tests__/__snapshots__/edit-definition-drawer.output.html | 83 ++++++++---
front-end/src/components/AiReports/Manage/__tests__/__snapshots__/manage-ai-reports.output.html | 83 ++++++++---
front-end/src/components/AiReports/Manage/gridConfig.js | 12 +-
front-end/src/components/AiReports/__tests__/AiReports.spec.js | 45 +++++-
front-end/src/components/AiReports/__tests__/__mocks__/data.js | 49 +++++++
front-end/src/components/AiReports/__tests__/__mocks__/requestHandlers.js | 3 +
front-end/src/components/AiReports/__tests__/__snapshots__/ai-reports.output.html | 319 +++++++++++++++++++++++++++++++++++++++++-
front-end/src/components/AiReports/constants.js | 1 +
front-end/src/components/AiReports/gridConfig.js | 2 +-
front-end/src/components/AiReports/useAiReportsGrid.js | 27 ++++
front-end/src/components/Settings/Kiosk/AutomatedReports/RecipientsCell.vue | 36 ++++-
front-end/src/components/Settings/Kiosk/AutomatedReports/UsersCell.vue | 9 +-
front-end/src/components/Settings/Kiosk/AutomatedReports/__tests__/RecipientsCell.spec.js | 171 ++++++++++++++++++++++
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
front-end/src/components/shared/GridView/useOrder.js | 6 +-
front-end/src/components/shared/GridView/usePaginationList.js | 7 +-
front-end/yarn.lock | 8 +-
resources/views/emails/reports/ask-jiminny-report-generated.blade.php | 25 ++++
routes/api.php | 1 +
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 +-
tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 468 ++++++++++++++++++++++++++++++++++++++++++-------------------
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Http/Controllers/Webhook/ReportControllerTest.php | 9 +-
tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 407 +++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncActivityTest.php | 74 +++++++---
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncTeamMetadataTest.php | 8 +-
tests/Unit/Listeners/AutomatedReports/UserPilot/TrackAutomatedReportGeneratedEventTest.php | 199 ++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ResolveOwnerTest.php | 64 ++++-----
tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 55 ++++++++
tests/Unit/Services/Crm/Copper/ServiceTest.php | 19 ---
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 ++++++----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/NotSupportedTraitTest.php | 76 ++--------
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmMetadataTraitTest.php | 5 -
tests/Unit/Services/Crm/Pipedrive/ServiceTest.php | 11 --
tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 430 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 521 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
113 files changed, 5468 insertions(+), 980 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Contracts/Services/Crm/ImportsBusinessProcessesInterface.php
create mode 100644 app/Events/AutomatedReports/AutomatedReportGenerated.php
create mode 100644 app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 app/Listeners/AutomatedReports/UserPilot/TrackAutomatedReportGeneratedEvent.php
create mode 100644 app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php
create mode 100644 front-end/src/components/AiReports/Manage/ExpiringCell.vue
create mode 100644 front-end/src/components/AiReports/Manage/__tests__/ExpiringCell.spec.js
create mode 100644 front-end/src/components/AiReports/constants.js
create mode 100644 front-end/src/components/AiReports/useAiReportsGrid.js
create mode 100644 front-end/src/components/Settings/Kiosk/AutomatedReports/__tests__/RecipientsCell.spec.js
create mode 100644 resources/views/emails/reports/ask-jiminny-report-generated.blade.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
create mode 100644 tests/Unit/Listeners/AutomatedReports/UserPilot/TrackAutomatedReportGeneratedEventTest.php
create mode 100644 tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ git status
On branch JY-20372-ai-reports-promotion-pages
Your branch is up to date with 'origin/JY-20372-ai-reports-promotion-pages'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Transformers/UserTransformer.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running 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!
Loaded config default from ".php-cs-fixer.dist.php".
5613/5613 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (braces_position, statement_indentation)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -37,15 +37,14 @@
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
- ): void
- {
-// $user = User::find(143);
-// $count = $automatedReportsRepository->countUserReports($user);
-// $this->info("Count: {$count}");
-// $count = $automatedReportsRepository->countAllUserReports($user);
-// $this->info("All count: {$count}");
-//
-// exit(1);
+ ): void {
+ // $user = User::find(143);
+ // $count = $automatedReportsRepository->countUserReports($user);
+ // $this->info("Count: {$count}");
+ // $count = $automatedReportsRepository->countAllUserReports($user);
+ // $this->info("All count: {$count}");
+ //
+ // exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
@@ -52,18 +51,18 @@
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
-// $from = $now->copy()->previousWeekday()->startOfDay();
-// $to = $now->copy()->previousWeekday()->endOfDay();
+ // $from = $now->copy()->previousWeekday()->startOfDay();
+ // $to = $now->copy()->previousWeekday()->endOfDay();
-// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
-// $toOld = $now->copy()->subDay()->endOfDay();
-// $fromNew = $now->copy()->subWeek()->startOfWeek();
-// $toNew = $now->copy()->subWeek()->endOfWeek();
+ // $fromOld = $now->copy()->subWeeks(1)->startOfDay();
+ // $toOld = $now->copy()->subDay()->endOfDay();
+ // $fromNew = $now->copy()->subWeek()->startOfWeek();
+ // $toNew = $now->copy()->subWeek()->endOfWeek();
-// $fromOld = $now->copy()->subMonths(1)->startOfDay();
-// $toOld = $now->copy()->subDay()->endOfDay();
-// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
-// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
+ // $fromOld = $now->copy()->subMonths(1)->startOfDay();
+ // $toOld = $now->copy()->subDay()->endOfDay();
+ // $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
+ // $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
----------- end diff -----------
Fixed 1 of 5613 files in 66.818 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running 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!
Loaded config default from ".php-cs-fixer.dist.php".
5616/5616 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5616 files in 65.183 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running 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!
Loaded config default from ".php-cs-fixer.dist.php".
5616/5616 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5616 files in 40.863 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 53, done.
remote: Counting objects: 100% (53/53), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 53 (delta 33), reused 49 (delta 30), pack-reused 0 (from 0)
Unpacking objects: 100% (53/53), 46.00 KiB | 523.00 KiB/s, done.
From github.com:jiminny/app
b1d5c77ad1..dfc8da14d2 JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
+ 47037d2c29...5138acf14e secfix/npm-20260423 -> origin/secfix/npm-20260423 (forced update)
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20738-debug-AJ-tracking-UP
Switched to a new branch 'JY-20738-debug-AJ-tracking-UP'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20738-debug-AJ-tracking-UP) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running 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!
Loaded config default from ".php-cs-fixer.dist.php".
5621/5621 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5621 files in 22.942 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at https://docs.docker.com/go/debug-cli/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20738-debug-AJ-tracking-UP) $ gbr
* JY-20738-debug-AJ-tracking-UP
JY-20157-AJ-report-not-send-notification
master
JY-20372-ai-reports-promotion-pages
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
JY-20117-fix-sync-profile-fields-on-empty-fields
JY-20027-extend-email-import-to-all-crm-objects
JY-20017-fix-hubspot-webhooks-processing
JY-20026-convert-lead-activities
JY-19501-hs-crm-sync-optimized
JY-19220-assign-activities-on-new-opportunity
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20738-debug-AJ-tracking-UP) $ co JY-20157-AJ-report-not-send...
|
iTerm2
|
APP (-zsh)
|
NULL
|
77669
|
|
Last login: Thu Apr 23 14:01:28 on ttys007
Poetry Last login: Thu Apr 23 14:01:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ git status
On branch JY-20157-AJ-report-not-send-notification
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ git status
On branch JY-20372-ai-reports-promotion-pages
Your branch is up to date with 'origin/JY-20372-ai-reports-promotion-pages'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ git pull
remote: Enumerating objects: 1015, done.
remote: Counting objects: 100% (262/262), done.
remote: Compressing objects: 100% (143/143), done.
remote: Total 1015 (delta 167), reused 129 (delta 119), pack-reused 753 (from 3)
Receiving objects: 100% (1015/1015), 851.14 KiB | 2.09 MiB/s, done.
Resolving deltas: 100% (613/613), completed with 65 local objects.
From github.com:jiminny/app
c3c8d86b22..68bb20c72a JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
3ac71c265a..595c95b7e0 JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
* [new branch] JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
* [new branch] JY-20478-stop-sync-calendar-emails -> origin/JY-20478-stop-sync-calendar-emails
d4d05c775b..b11048beed JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
10d290c778..a250abe939 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
* [new branch] JY-20713-activity-sync-job-restart -> origin/JY-20713-activity-sync-job-restart
242cf1b554..96a22e59f2 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
* [new branch] fix-close-missing-logger-error -> origin/fix-close-missing-logger-error
0dd5b23990..60fa1787c1 master -> origin/master
f044edca5b..e7e0e50b27 secfix/npm-20260416 -> origin/secfix/npm-20260416
* [new branch] secfix/npm-20260423 -> origin/secfix/npm-20260423
Updating c3c8d86b22..68bb20c72a
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/ActivitySearch/FilterDefinition/ActivityUpdatedDate.php | 7 +-
app/Component/ActivitySearch/Service/ActivitySearch.php | 15 ++
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ProphetAi/ProphetClient.php | 5 +
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 +++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++-----
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++
app/Console/Commands/Reports/AutomatedReportsCommand.php | 91 +++++++++++-
app/Console/Commands/Reports/AutomatedReportsSendCommand.php | 40 +++++-
app/Console/Kernel.php | 4 +
app/Contracts/Services/Crm/ImportsBusinessProcessesInterface.php | 15 ++
app/Contracts/Services/Crm/Provider/SalesforceInterface.php | 12 +-
app/Contracts/Services/Crm/ServiceInterface.php | 29 ----
app/Contracts/Services/Crm/SyncCrmMetadataInterface.php | 6 +-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 15 ++
app/Http/Controllers/API/CrmController.php | 19 ++-
app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 33 ++++-
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 2 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 2 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 64 ++++++---
app/Http/Controllers/Webhook/ReportController.php | 5 +
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Activity/SyncActivity.php | 3 +-
app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 210 ++++++++++++++++++++++++++++
app/Jobs/AutomatedReports/SendReportJob.php | 2 +
app/Jobs/AutomatedReports/SendReportMailJob.php | 6 +-
app/Jobs/Crm/SyncActivity.php | 10 ++
app/Jobs/Crm/SyncHubspotObjects.php | 120 ++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 26 ++--
app/Jobs/Crm/SyncTeamMetadata.php | 14 +-
app/Listeners/AutomatedReports/UserPilot/TrackAutomatedReportGeneratedEvent.php | 82 +++++++++++
app/Listeners/Crm/ResolveOwner.php | 21 +--
app/Mail/Reports/ReportWithAttachment.php | 7 +-
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Models/Contracts/UserContract.php | 6 +
app/Providers/EventServiceProvider.php | 4 +
app/Repositories/AutomatedReportsRepository.php | 76 +++++++++-
app/Repositories/Crm/CrmEntityRepository.php | 40 ++++++
app/Services/Crm/BaseService.php | 13 --
app/Services/Crm/Bullhorn/BullhornService.php | 21 ---
app/Services/Crm/Close/Service.php | 38 -----
app/Services/Crm/Copper/Service.php | 37 -----
app/Services/Crm/Dummy/Service.php | 25 ----
app/Services/Crm/Hubspot/Service.php | 37 -----
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++--
app/Services/Crm/IntegrationApp/Service.php | 2 +
app/Services/Crm/IntegrationApp/ServiceTraits/NotSupportedTrait.php | 12 +-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmMetadataTrait.php | 5 -
app/Services/Crm/Pipedrive/Service.php | 43 +-----
app/Services/Crm/Salesforce/Service.php | 13 +-
app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 143 +++++++++++++++++++
app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 222 +++++++++++++++++++++++++----
front-end/package.json | 2 +-
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/AiReports/AiReports.vue | 9 +-
front-end/src/components/AiReports/GridCells/ActionsCell.vue | 107 +++++++++++---
front-end/src/components/AiReports/GridCells/NameCell.vue | 13 +-
front-end/src/components/AiReports/GridCells/TypeIndicator.vue | 26 ++--
front-end/src/components/AiReports/Manage/CreateDefinition/CreateDefinitionDrawer.vue | 4 +-
front-end/src/components/AiReports/Manage/ExpiringCell.vue | 86 ++++++++++++
front-end/src/components/AiReports/Manage/ManageAiReports.less | 6 +
front-end/src/components/AiReports/Manage/ManageAiReports.vue | 6 +-
front-end/src/components/AiReports/Manage/__tests__/ExpiringCell.spec.js | 116 +++++++++++++++
front-end/src/components/AiReports/Manage/__tests__/ManageAiReports.spec.js | 32 +++--
front-end/src/components/AiReports/Manage/__tests__/__snapshots__/create-definition-drawer.output.html | 83 ++++++++---
front-end/src/components/AiReports/Manage/__tests__/__snapshots__/edit-definition-drawer.output.html | 83 ++++++++---
front-end/src/components/AiReports/Manage/__tests__/__snapshots__/manage-ai-reports.output.html | 83 ++++++++---
front-end/src/components/AiReports/Manage/gridConfig.js | 12 +-
front-end/src/components/AiReports/__tests__/AiReports.spec.js | 45 +++++-
front-end/src/components/AiReports/__tests__/__mocks__/data.js | 49 +++++++
front-end/src/components/AiReports/__tests__/__mocks__/requestHandlers.js | 3 +
front-end/src/components/AiReports/__tests__/__snapshots__/ai-reports.output.html | 319 +++++++++++++++++++++++++++++++++++++++++-
front-end/src/components/AiReports/constants.js | 1 +
front-end/src/components/AiReports/gridConfig.js | 2 +-
front-end/src/components/AiReports/useAiReportsGrid.js | 27 ++++
front-end/src/components/Settings/Kiosk/AutomatedReports/RecipientsCell.vue | 36 ++++-
front-end/src/components/Settings/Kiosk/AutomatedReports/UsersCell.vue | 9 +-
front-end/src/components/Settings/Kiosk/AutomatedReports/__tests__/RecipientsCell.spec.js | 171 ++++++++++++++++++++++
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
front-end/src/components/shared/GridView/useOrder.js | 6 +-
front-end/src/components/shared/GridView/usePaginationList.js | 7 +-
front-end/yarn.lock | 8 +-
resources/views/emails/reports/ask-jiminny-report-generated.blade.php | 25 ++++
routes/api.php | 1 +
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 +-
tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 468 ++++++++++++++++++++++++++++++++++++++++++-------------------
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Http/Controllers/Webhook/ReportControllerTest.php | 9 +-
tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 407 +++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncActivityTest.php | 74 +++++++---
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncTeamMetadataTest.php | 8 +-
tests/Unit/Listeners/AutomatedReports/UserPilot/TrackAutomatedReportGeneratedEventTest.php | 199 ++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ResolveOwnerTest.php | 64 ++++-----
tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 55 ++++++++
tests/Unit/Services/Crm/Copper/ServiceTest.php | 19 ---
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 ++++++----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/NotSupportedTraitTest.php | 76 ++--------
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmMetadataTraitTest.php | 5 -
tests/Unit/Services/Crm/Pipedrive/ServiceTest.php | 11 --
tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 430 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 521 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
113 files changed, 5468 insertions(+), 980 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Contracts/Services/Crm/ImportsBusinessProcessesInterface.php
create mode 100644 app/Events/AutomatedReports/AutomatedReportGenerated.php
create mode 100644 app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 app/Listeners/AutomatedReports/UserPilot/TrackAutomatedReportGeneratedEvent.php
create mode 100644 app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php
create mode 100644 front-end/src/components/AiReports/Manage/ExpiringCell.vue
create mode 100644 front-end/src/components/AiReports/Manage/__tests__/ExpiringCell.spec.js
create mode 100644 front-end/src/components/AiReports/constants.js
create mode 100644 front-end/src/components/AiReports/useAiReportsGrid.js
create mode 100644 front-end/src/components/Settings/Kiosk/AutomatedReports/__tests__/RecipientsCell.spec.js
create mode 100644 resources/views/emails/reports/ask-jiminny-report-generated.blade.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
create mode 100644 tests/Unit/Listeners/AutomatedReports/UserPilot/TrackAutomatedReportGeneratedEventTest.php
create mode 100644 tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ git status
On branch JY-20372-ai-reports-promotion-pages
Your branch is up to date with 'origin/JY-20372-ai-reports-promotion-pages'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Transformers/UserTransformer.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running 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!
Loaded config default from ".php-cs-fixer.dist.php".
5613/5613 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (braces_position, statement_indentation)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -37,15 +37,14 @@
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
- ): void
- {
-// $user = User::find(143);
-// $count = $automatedReportsRepository->countUserReports($user);
-// $this->info("Count: {$count}");
-// $count = $automatedReportsRepository->countAllUserReports($user);
-// $this->info("All count: {$count}");
-//
-// exit(1);
+ ): void {
+ // $user = User::find(143);
+ // $count = $automatedReportsRepository->countUserReports($user);
+ // $this->info("Count: {$count}");
+ // $count = $automatedReportsRepository->countAllUserReports($user);
+ // $this->info("All count: {$count}");
+ //
+ // exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
@@ -52,18 +51,18 @@
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
-// $from = $now->copy()->previousWeekday()->startOfDay();
-// $to = $now->copy()->previousWeekday()->endOfDay();
+ // $from = $now->copy()->previousWeekday()->startOfDay();
+ // $to = $now->copy()->previousWeekday()->endOfDay();
-// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
-// $toOld = $now->copy()->subDay()->endOfDay();
-// $fromNew = $now->copy()->subWeek()->startOfWeek();
-// $toNew = $now->copy()->subWeek()->endOfWeek();
+ // $fromOld = $now->copy()->subWeeks(1)->startOfDay();
+ // $toOld = $now->copy()->subDay()->endOfDay();
+ // $fromNew = $now->copy()->subWeek()->startOfWeek();
+ // $toNew = $now->copy()->subWeek()->endOfWeek();
-// $fromOld = $now->copy()->subMonths(1)->startOfDay();
-// $toOld = $now->copy()->subDay()->endOfDay();
-// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
-// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
+ // $fromOld = $now->copy()->subMonths(1)->startOfDay();
+ // $toOld = $now->copy()->subDay()->endOfDay();
+ // $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
+ // $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
----------- end diff -----------
Fixed 1 of 5613 files in 66.818 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running 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!
Loaded config default from ".php-cs-fixer.dist.php".
5616/5616 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5616 files in 65.183 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running 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!
Loaded config default from ".php-cs-fixer.dist.php".
5616/5616 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5616 files in 40.863 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 53, done.
remote: Counting objects: 100% (53/53), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 53 (delta 33), reused 49 (delta 30), pack-reused 0 (from 0)
Unpacking objects: 100% (53/53), 46.00 KiB | 523.00 KiB/s, done.
From github.com:jiminny/app
b1d5c77ad1..dfc8da14d2 JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
+ 47037d2c29...5138acf14e secfix/npm-20260423 -> origin/secfix/npm-20260423 (forced update)
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20738-debug-AJ-tracking-UP
Switched to a new branch 'JY-20738-debug-AJ-tracking-UP'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20738-debug-AJ-tracking-UP) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running 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!
Loaded config default from ".php-cs-fixer.dist.php".
5621/5621 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5621 files in 22.942 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at https://docs.docker.com/go/debug-cli/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20738-debug-AJ-tracking-UP) $ gbr
* JY-20738-debug-AJ-tracking-UP
JY-20157-AJ-report-not-send-notification
master
JY-20372-ai-reports-promotion-pages
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
JY-20117-fix-sync-profile-fields-on-empty-fields
JY-20027-extend-email-import-to-all-crm-objects
JY-20017-fix-hubspot-webhooks-processing
JY-20026-convert-lead-activities
JY-19501-hs-crm-sync-optimized
JY-19220-assign-activities-on-new-opportunity
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20738-debug-AJ-tracking-UP) $ co JY-20157-AJ-report-not-send...
|
iTerm2
|
APP (-zsh)
|
NULL
|
77670
|
|
Downloading update…
Cancel
Updating iTerm2
Firefox Downloading update…
Cancel
Updating iTerm2
Firefox• 0FileEditViewHistory→BookmarksProfilesToolsWindowHelpmeet.google.com/agt-teir-cwt?authuser=lukas.kovalik%40jiminny.com•Daily - Platform - now100% K78 • Fri 24 Apr 9:46:13|=Pop out this videoNikolay NikolovStefka StoyanovaGalya DimitrovaLukas Kovalik9:46 AM | Daily - Platform• 0:27...
|
iTerm2
|
Updating iTerm2
|
NULL
|
77671
|
|
Last login: Thu Apr 23 14:01:28 on ttys008
Poetry Last login: Thu Apr 23 14:01:28 on ttys008
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ sp-status
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20157-AJ-report-not-send-notification) $ sp-start
detected hardware tier: Mid
warning: parakeet is not supported on this platform, using whisper-tiny instead
2026-04-24T09:19:23.948881Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store
checking permissions...
screen recording: ok
accessibility: ok
2026-04-24T09:19:24.012726Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-24T09:19:24.548628Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-24T09:19:24.550486Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-24T09:19:24.550876Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-24T09:19:24.587519Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-04-24T09:19:24.587575Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-24T09:19:24.587822Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-04-24T09:19:24.587784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-24T09:19:24.587750Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-24T09:19:24.587842Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-04-24T09:19:24.587884Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-24T09:19:24.599482Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-04-24T09:19:24.604417Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-24T09:19:24.604614Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-24T09:19:24.605022Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-24T09:19:24.605182Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-24T09:19:24.605334Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-24T09:19:24.605840Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-24T09:19:24.605858Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ ["Boosteroid"] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
2026-04-24T09:19:24.607221Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
2026-04-24T09:19:24.612773Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
│ encrypt secrets │ disabled │
│ retention days │ 14 │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-04-24T09:19:24.622220Z INFO screenpipe: starting UI event capture
2026-04-24T09:19:24.635769Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-04-24T09:19:24.649336Z INFO screenpipe_engine::ui_recorder: UI recording session started: d723d582-4d6f-4e04-921c-c054be5f7efc
2026-04-24T09:19:24.649340Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-04-24T09:19:24.649501Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-23 06:19:24.649500 UTC to 2026-04-24 06:19:24.649500 UTC)
2026-04-24T09:19:24.650143Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-04-24T09:19:24.657009Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-04-24T09:19:24.667216Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-04-24T09:19:24.729181Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-04-24T09:19:24.729212Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-04-24T09:19:24.729249Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-04-24T09:19:24.779505Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-24T09:19:24.779540Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-24T09:19:24.779553Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-04-24T09:19:24.779561Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-04-24T09:19:24.779558Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-24T09:19:25.448244Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 2 excluded)
2026-04-24T09:19:25.568925Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=75340, dur=59ms
2026-04-24T09:19:25.573938Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 2 excluded)
2026-04-24T09:19:25.719368Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=75341, dur=92ms
2026-04-24T09:19:25.720846Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-04-24T09:19:25.858429Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=2488 elapsed=1.208421959s
2026-04-24T09:19:25.864500Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2488 frame entries, coverage from 2026-04-23 06:19:24.649500 UTC
2026-04-24T09:19:55.890230Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 2 excluded)
2026-04-24T09:20:14.750156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1028901310814388349, trigger=visual_change)
2026-04-24T09:20:18.033810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=587886836991007024, trigger=visual_change)
2026-04-24T09:20:31.827646Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=116 elapsed=7.239465292s
2026-04-24T09:20:31.828139Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames
2026-04-24T09:20:40.295044Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 11.8MB → 5.8MB (2.0x), 51 JPEGs deleted
2026-04-24T09:20:46.893269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 13.5MB → 4.0MB (3.4x), 63 JPEGs deleted
2026-04-24T09:21:08.939443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2712612361587311688, trigger=click)
2026-04-24T09:21:43.598800Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:21:43.671594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:21:45.091008Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:21:46.383314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:21:46.496744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:21:48.098818Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:22:11.221900Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:22:11.766896Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:22:16.888745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:22:17.491774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:22:18.681622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:23:16.243167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:23:35.816445Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:23:38.930735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:23:44.977693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:23:47.976762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:23:52.175025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:23:53.676257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:23:55.282163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:23:57.823643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:23:58.994186Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=visual_change)
2026-04-24T09:24:05.860204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1454730608342357520, trigger=click)
2026-04-24T09:24:13.209516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-718376464268389214, trigger=click)
2026-04-24T09:24:22.402923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:24:22.942083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:24:23.526173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:24:32.347346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=visual_change)
2026-04-24T09:25:11.682827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=visual_change)
2026-04-24T09:25:18.972497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:25:19.038120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:25:23.792317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=visual_change)
2026-04-24T09:25:29.870772Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=visual_change)
2026-04-24T09:25:55.293996Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=2 elapsed=8.404251667s
2026-04-24T09:25:55.294848Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-24T09:26:04.448822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:26:33.349466Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:26:43.335239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8529419538052703508, trigger=visual_change)
2026-04-24T09:26:53.050041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:26:53.167874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:26:54.303442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=visual_change)
2026-04-24T09:26:55.500318Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8529419538052703508, trigger=visual_change)
2026-04-24T09:27:10.586419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7481262235808181776, trigger=visual_change)
2026-04-24T09:27:32.621600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6918193899859647097, trigger=click)
2026-04-24T09:27:33.024121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6918193899859647097, trigger=visual_change)
2026-04-24T09:27:33.358990Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6918193899859647097, trigger=click)
2026-04-24T09:27:36.474585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6881578134567937708, trigger=click)
2026-04-24T09:27:39.102616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6885151902180127194, trigger=visual_change)
2026-04-24T09:27:43.161033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2041093212856276090, trigger=click)
2026-04-24T09:28:34.574175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:28:35.182695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=visual_change)
2026-04-24T09:28:48.766885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8529419538052703508, trigger=click)
2026-04-24T09:30:31.502266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3827964891494523905, trigger=visual_change)
2026-04-24T09:31:01.835036Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=22 elapsed=6.539084917s
2026-04-24T09:31:01.835398Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames
2026-04-24T09:31:03.153482Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.4MB → 1.6MB (1.5x), 12 JPEGs deleted
2026-04-24T09:31:04.207260Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.6MB (2.9x), 10 JPEGs deleted
2026-04-24T09:31:06.422394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2475439445148030469, trigger=click)
2026-04-24T09:31:06.479214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2475439445148030469, trigger=click)
2026-04-24T09:32:04.943578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5777225845300032867, trigger=click)
2026-04-24T09:32:32.784454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2058509189754406523, trigger=visual_change)
2026-04-24T09:32:53.082974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=click)
2026-04-24T09:32:53.737962Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=visual_change)
2026-04-24T09:32:57.114733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=click)
2026-04-24T09:32:58.597674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=click)
2026-04-24T09:32:59.782125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=visual_change)
2026-04-24T09:33:04.996791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=click)
2026-04-24T09:33:08.816247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=visual_change)
2026-04-24T09:33:10.461146Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=click)
2026-04-24T09:33:15.203936Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=click)
2026-04-24T09:33:16.981298Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7590752565779779940, trigger=click)
2026-04-24T09:33:23.431499Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=788204626822580206, trigger=visual_change)
2026-04-24T09:34:37.556091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2058509189754406523, trigger=click)
2026-04-24T09:35:00.731989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1931331561203467723, trigger=visual_change)
2026-04-24T09:36:14.635660Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=54 elapsed=10.395510708s
2026-04-24T09:36:14.636360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 54 eligible frames
2026-04-24T09:36:17.619625Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 4.5MB → 1.3MB (3.4x), 27 JPEGs deleted
2026-04-24T09:36:22.116262Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.8MB → 2.5MB (2.3x), 25 JPEGs deleted
2026-04-24T09:36:54.863673Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4878114742693947356, trigger=visual_change)
2026-04-24T09:36:55.062798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4878114742693947356, trigger=click)
2026-04-24T09:36:55.162682Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4878114742693947356, trigger=click)
2026-04-24T09:37:21.863789Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3699874878394394870, trigger=click)
2026-04-24T09:37:47.995024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1428919445128073902, trigger=click)
2026-04-24T09:39:30.403190Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7035499710668216835, trigger=visual_change)
2026-04-24T09:39:33.662241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=608432697774876874, trigger=visual_change)
2026-04-24T09:39:35.341135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=608432697774876874, trigger=click)
2026-04-24T09:39:36.121070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=608432697774876874, trigger=click)
2026-04-24T09:39:36.536747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=608432697774876874, trigger=click)
2026-04-24T09:39:37.731270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=608432697774876874, trigger=click)
2026-04-24T09:39:41.210462Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5974765529434960285, trigger=click)
2026-04-24T09:39:51.731759Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2535035496832215689, trigger=click)
2026-04-24T09:40:07.259374Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5233926339773178750, trigger=click)
2026-04-24T09:41:03.107609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4960201745265773485, trigger=visual_change)
2026-04-24T09:41:13.880197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4960201745265773485, trigger=click)
2026-04-24T09:41:15.327127Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4960201745265773485, trigger=visual_change)
2026-04-24T09:41:29.540119Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=7.415332709s
2026-04-24T09:41:29.540877Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-24T09:41:32.870426Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 6.6MB → 2.9MB (2.3x), 45 JPEGs deleted
2026-04-24T09:41:37.336764Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.7MB → 2.1MB (4.2x), 36 JPEGs deleted
2026-04-24T09:42:16.061415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2303338987408821760, trigger=click)
2026-04-24T09:42:41.664885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1281363204634954644, trigger=click)
2026-04-24T09:42:44.154084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1281363204634954644, trigger=click)
2026-04-24T09:42:44.196254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1281363204634954644, trigger=click)
2026-04-24T09:42:44.734952Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1281363204634954644, trigger=click)
2026-04-24T09:42:44.831122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1281363204634954644, trigger=click)
2026-04-24T09:42:47.536858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1281363204634954644, trigger=click)
2026-04-24T09:42:47.599226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1281363204634954644, trigger=click)
2026-04-24T09:42:51.355525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1281363204634954644, trigger=click)
2026-04-24T09:42:51.417875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1281363204634954644, trigger=click)
2026-04-24T09:43:03.016946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2974096840750632412, trigger=click)
2026-04-24T09:43:17.016221Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2200824938643555556, trigger=click)
2026-04-24T09:43:54.660798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3190629888660759195, trigger=click)
2026-04-24T09:43:54.814070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3190629888660759195, trigger=click)
2026-04-24T09:43:57.228840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3190629888660759195, trigger=click)
2026-04-24T09:43:57.357545Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3190629888660759195, trigger=click)
2026-04-24T09:44:26.654392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6442301480781945351, trigger=visual_change)
2026-04-24T09:44:27.485920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6442301480781945351, trigger=click)
2026-04-24T09:44:28.428613Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6442301480781945351, trigger=click)
2026-04-24T09:44:28.522866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6442301480781945351, trigger=click)
2026-04-24T09:44:37.706012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4644933951444445488, trigger=click)
2026-04-24T09:44:38.745488Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4644933951444445488, trigger=visual_change)
2026-04-24T09:44:39.627450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4644933951444445488, trigger=click)
2026-04-24T09:44:39.702639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4644933951444445488, trigger=click)
2026-04-24T09:44:41.780013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4644933951444445488, trigger=visual_change)
2026-04-24T09:44:45.879943Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6226944297976869517, trigger=visual_change)
2026-04-24T09:44:49.778752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8097506899394482484, trigger=click)
2026-04-24T09:44:49.884752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8097506899394482484, trigger=click)
2026-04-24T09:45:16.555430Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4890526220884472180, trigger=visual_change)
2026-04-24T09:45:21.826062Z INFO screenpipe_engine::meeting_detector: meeting v2: Idle -> Confirming (app=Firefox, signals=2)
2026-04-24T09:45:25.455811Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4584806439085727712, trigger=click)
2026-04-24T09:45:25.893604Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4584806439085727712, trigger=visual_change)
2026-04-24T09:45:27.069542Z INFO screenpipe_engine::meeting_detector: meeting v2: Confirming -> Active (app=Firefox, signals=2, browser=true)
2026-04-24T09:45:27.071927Z INFO screenpipe_engine::meeting_detector: meeting v2: meeting started (id=11, app=Firefox, title=None)
2026-04-24T09:46:45.194533Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=53 elapsed=7.760180958s
2026-04-24T09:46:45.195976Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames
2026-04-24T09:46:47.978735Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.8MB → 3.9MB (1.5x), 27 JPEGs deleted
2026-04-24T09:46:50.106852Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 5.7MB → 2.0MB (2.8x), 24 JPEGs deleted
2026-04-24T09:47:41.050891Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1144826565952075873, trigger=click)
2026-04-24T09:48:42.051769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7029277336993072845, trigger=click)
2026-04-24T09:48:42.106717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7029277336993072845, trigger=click)
2026-04-24T09:51:57.720599Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=86 elapsed=7.613944334s
2026-04-24T09:51:57.721227Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 86 eligible frames
2026-04-24T09:51:59.887209Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.5MB → 2.0MB (3.2x), 35 JPEGs deleted
2026-04-24T09:52:05.085614Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 10.3MB → 3.6MB (2.9x), 49 JPEGs deleted
2026-04-24T09:54:27.970458Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6640666081944178132, trigger=click)
2026-04-24T09:57:13.235833Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=127 elapsed=8.092617s
2026-04-24T09:57:13.235987Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 127 eligible frames
2026-04-24T09:57:18.803261Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.5MB → 3.0MB (4.2x), 73 JPEGs deleted
2026-04-24T09:57:24.824472Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 11.1MB → 4.0MB (2.8x), 52 JPEGs deleted
2026-04-24T10:01:37.413726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8376988566998297938, trigger=click)
2026-04-24T10:02:28.461441Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=55 elapsed=3.632856417s
2026-04-24T10:02:28.461968Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames
2026-04-24T10:02:30.124076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.2MB → 0.2MB (19.5x), 25 JPEGs deleted
2026-04-24T10:02:31.809292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 6.2MB → 0.3MB (18.1x), 28 JPEGs deleted
2026-04-24T10:03:55.692088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3138891033414926334, trigger=click)
2026-04-24T10:04:23.018837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9217377342110388166, trigger=click)
2026-04-24T10:04:36.753795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8336819251013481167, trigger=click)
2026-04-24T10:05:41.340647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8295693356485346454, trigger=click)
2026-04-24T10:07:35.847705Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=4.035074292s
2026-04-24T10:07:35.847846Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-24T10:07:37.308099Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 3.8MB → 0.2MB (17.9x), 23 JPEGs deleted
2026-04-24T10:07:38.656993Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.9MB → 0.3MB (14.3x), 22 JPEGs deleted
2026-04-24T10:11:10.087328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7020466661663521693, trigger=click)
2026-04-24T10:11:20.636202Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=11, grace=300s)
2026-04-24T10:12:41.287270Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=27 elapsed=2.627061209s
2026-04-24T10:12:41.287689Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 27 eligible frames
2026-04-24T10:12:42.165900Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.2MB → 0.2MB (10.2x), 13 JPEGs deleted
2026-04-24T10:12:43.027939Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.7MB → 0.3MB (7.8x), 12 JPEGs deleted
2026-04-24T10:16:25.911580Z INFO screenpipe_engine::meeting_detector: meeting v2: Ending -> Idle (timeout=300s, app=Firefox, id=11)
2026-04-24T10:16:26.200392Z INFO screenpipe_engine::meeting_detector: meeting v2: meeting ended (id=11)
2026-04-24T10:17:46.130674Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=53 elapsed=3.023108458s
2026-04-24T10:17:46.130778Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames
2026-04-24T10:17:47.707268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.2MB → 0.2MB (19.5x), 25 JPEGs deleted
2026-04-24T10:17:49.254961Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.8MB → 0.3MB (16.8x), 26 JPEGs deleted
2026-04-24T10:22:52.226201Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=33 elapsed=2.961869041s
2026-04-24T10:22:52.226734Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames
2026-04-24T10:22:53.241764Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.5MB → 0.2MB (11.7x), 15 JPEGs deleted
2026-04-24T10:22:54.325284Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 3.5MB → 0.3MB (10.4x), 16 JPEGs deleted
2026-04-24T10:28:01.604110Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=22 elapsed=7.269846834s
2026-04-24T10:28:01.605693Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames
2026-04-24T10:28:02.415596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.2MB (7.9x), 10 JPEGs deleted
2026-04-24T10:28:03.310035Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.2MB → 0.3MB (6.5x), 10 JPEGs deleted
2026-04-24T10:30:34.510666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6492717525671906088, trigger=click)
2026-04-24T10:30:35.393595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6492717525671906088, trigger=click)
2026-04-24T10:30:37.273284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6492717525671906088, trigger=click)
2026-04-24T10:30:37.351526Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6492717525671906088, trigger=click)
2026-04-24T10:32:23.226072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2116846968358481818, trigger=click)
2026-04-24T10:32:23.322454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2116846968358481818, trigger=click)
2026-04-24T10:32:23.831122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2116846968358481818, trigger=click)
2026-04-24T10:32:24.073508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2116846968358481818, trigger=click)
2026-04-24T10:32:37.212353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1831432399067337817, trigger=click)
2026-04-24T10:32:37.329165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1831432399067337817, trigger=click)
2026-04-24T10:32:38.158066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1831432399067337817, trigger=click)
2026-04-24T10:32:38.278528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1831432399067337817, trigger=click)
2026-04-24T10:33:12.028991Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=52 elapsed=8.711020667s
2026-04-24T10:33:12.029148Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 52 eligible frames
2026-04-24T10:33:14.310365Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.0MB → 0.2MB (18.7x), 24 JPEGs deleted
2026-04-24T10:33:16.835684Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.8MB → 0.3MB (16.8x), 26 JPEGs deleted
2026-04-24T10:33:24.939868Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8210130048459164633, trigger=click)
2026-04-24T10:34:44.260746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4460653676981297746, trigger=click)
2026-04-24T10:34:44.369588Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4460653676981297746, trigger=click)
2026-04-24T10:35:24.136627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1637880906203540100, trigger=click)
2026-04-24T10:35:24.237433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1637880906203540100, trigger=click)
2026-04-24T10:35:24.972083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1637880906203540100, trigger=click)
2026-04-24T10:35:24.977999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1637880906203540100, trigger=click)
2026-04-24T10:36:00.394626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1637880906203540100, trigger=click)
2026-04-24T10:36:01.325744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1637880906203540100, trigger=click)
2026-04-24T10:36:04.163426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1637880906203540100, trigger=click)
2026-04-24T10:36:06.614575Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1637880906203540100, trigger=click)
2026-04-24T10:36:23.003531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8210130048459164633, trigger=click)
2026-04-24T10:36:23.060065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8210130048459164633, trigger=click)
2026-04-24T10:36:23.746984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8210130048459164633, trigger=click)
2026-04-24T10:36:23.798965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8210130048459164633, trigger=click)
2026-04-24T10:36:26.192092Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8210130048459164633, trigger=click)
2026-04-24T10:36:26.294196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8210130048459164633, trigger=click)
2026-04-24T10:36:26.939378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8210130048459164633, trigger=click)
2026-04-24T10:36:27.020045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8210130048459164633, trigger=click)
2026-04-24T10:36:44.241137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4138904741364594758, trigger=click)
2026-04-24T10:36:44.335571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=[CREDIT_CARD]...
|
iTerm2
|
screenpipe"
|
NULL
|
77672
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands\Reports;
use Carbon\Carbon;
use Illuminate\Console\Command;
use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher;
use Illuminate\Support\Collection;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\RequestGenerateReportJob;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Team;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
class AutomatedReportsCommand extends Command
{
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[automated-reports]';
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'automated-reports
{--report-id= : Process a specific report by ID or UUID (bypasses frequency scheduling)}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Process automated reports based on their frequency (weekly, monthly, quarterly).
Use --report-id to manually trigger a specific report by ID or UUID.';
public function __construct(
private readonly LoggerInterface $logger,
private readonly BusDispatcher $dispatcher,
private readonly AutomatedReportsRepository $reportRepository
) {
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
public function handle(): int
{
$this->logger->info(self::LOG_PREFIX . ' Started');
$this->disableExpiredAskJiminnyReports();
$now = Carbon::now();
$isMonday = $now->isMonday();
$isWeekend = $now->isWeekend();
$isFirstDayOfMonth = $now->day === 1;
$currentMonth = $now->month;
$isManualTrigger = $this->option('report-id') !== null;
// Check if the current month is a quarterly month (January, April, July, October)
$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);
$this->logger->info(self::LOG_PREFIX . ' Checking conditions', [
'isMonday' => $isMonday,
'isWeekend' => $isWeekend,
'isFirstDayOfMonth' => $isFirstDayOfMonth,
'currentMonth' => $currentMonth,
'isQuarterlyMonth' => $isQuarterlyMonth,
]);
// Process daily reports on weekdays only (skip Saturday/Sunday).
// Manual triggers via --report-id bypass the weekend skip.
if (! $isWeekend || $isManualTrigger) {
$this->processReports(AutomatedReportsService::FREQUENCY_DAILY);
} else {
$this->logger->info(self::LOG_PREFIX . ' Skipping daily reports on weekend');
}
// Process weekly reports on Mondays
if ($isMonday) {
$this->processReports(AutomatedReportsService::FREQUENCY_WEEKLY);
}
// Process monthly reports on the first day of the month
if ($isFirstDayOfMonth) {
$this->processReports(AutomatedReportsService::FREQUENCY_MONTHLY);
}
// Process quarterly reports on the first day of January, April, July, and October
if ($isFirstDayOfMonth && $isQuarterlyMonth) {
$this->processReports(AutomatedReportsService::FREQUENCY_QUARTERLY);
}
$this->logger->info(self::LOG_PREFIX . ' Completed');
return 0;
}
private function disableExpiredAskJiminnyReports(): void
{
$expiredReports = $this->reportRepository->getExpiredActiveAskJiminnyReports();
foreach ($expiredReports as $report) {
$this->logger->info(self::LOG_PREFIX . ' Disabling expired Ask Jiminny report', [
'reportUuid' => $report->getUuid(),
'teamId' => $report->getTeamId(),
'expiresAt' => $report->getExpiresAt()?->toDateString(),
]);
$this->reportRepository->update($report, ['status' => false]);
}
}
/**
* Process reports for a specific frequency.
*
* @param string $frequency
*
* @return void
*/
private function processReports(string $frequency): void
{
$this->logger->info(self::LOG_PREFIX . " Processing $frequency reports");
$reportId = $this->option('report-id');
if ($reportId !== null) {
$reports = $this->getReportById($reportId);
} else {
// Get all enabled, not deleted reports with active teams for the specified frequency
$reports = $this->reportRepository->getActiveReportsByFrequency($frequency);
}
$this->logger->info(self::LOG_PREFIX . " Found {$reports->count()} $frequency reports to process");
/** @var AutomatedReport $report */
foreach ($reports as $report) {
$this->logger->info(self::LOG_PREFIX . ' Dispatching Generate Report job for report', [
'reportUuid' => $report->getUuid(),
'teamId' => $report->getTeamId(),
'frequency' => $report->getFrequency(),
'type' => $report->getType(),
]);
$job = $report->isAskJiminnyReport()
? new RequestGenerateAskJiminnyReportJob($report->getUuid())
: new RequestGenerateReportJob($report->getUuid());
$this->dispatcher->dispatch($job);
}
}
private function getReportById(string $reportId): Collection
{
$report = $this->reportRepository->findByIdOrUuid($reportId);
if ($report === null) {
$this->logger->warning(self::LOG_PREFIX . ' Report not found for --report-id', ['reportId' => $reportId]);
$this->warn("Report not found: {$reportId}");
return collect();
}
if (! $report->getStatus()) {
$this->logger->warning(self::LOG_PREFIX . ' Report is inactive, processing anyway (manual override)', [
'reportId' => $reportId,
'reportUuid' => $report->getUuid(),
]);
$this->warn('Report is inactive — processing anyway (manual override).');
}
$team = $report->getTeam();
if ($team->getStatus() !== Team::STATUS_ACTIVE) {
$this->logger->warning(self::LOG_PREFIX . ' Team is not active, processing anyway (manual override)', [
'reportId' => $reportId,
'reportUuid' => $report->getUuid(),
'teamId' => $report->getTeamId(),
'teamStatus' => $team->getStatus(),
]);
$this->warn("Team #{$report->getTeamId()} is not active — processing anyway (manual override).");
}
if ($report->isExpired()) {
$this->logger->warning(self::LOG_PREFIX . ' Report is expired, processing anyway (manual override)', [
'reportId' => $reportId,
'reportUuid' => $report->getUuid(),
'expiresAt' => $report->getExpiresAt()?->toDateString(),
]);
$this->warn('Report is expired (expires_at: ' . $report->getExpiresAt()?->toDateString()
. ') — processing anyway (manual override).');
}
$this->info(self::LOG_PREFIX . ' Automated report found ' . $report->getCustomName());
return collect([$report]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
8
Previous Highlighted Error
Next Highlighted Error
[2026-04-24 10:24:09] local.INFO: [automated-reports] Started {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Checking conditions {"isMonday":false,"isWeekend":false,"isFirstDayOfMonth":false,"currentMonth":4,"isQuarterlyMonth":true} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Processing daily reports {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Found 1 daily reports to process {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Dispatching Generate Report job for report {"reportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","teamId":1,"frequency":"weekly","type":"ask_jiminny"} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Completed {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:11] local.INFO: [AskJiminnyReport:Generate] Started {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43"} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport] Fetched activity IDs for saved search {"saved_search_id":1977,"user_id":143,"activity_count":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Fetched activity IDs {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Not enough activities, skipped {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Dispatched not-generated notifications {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","recipientsCount":1} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: [Send Report Not Generated Mail] Email sent {"uuid":"dcb12181-9de1-4ef0-9d45-fb4ea6fd0778","email":"[EMAIL]"} {"correlation_id":"27ada0cc-4eb3-49c4-9115-19ece9e24576","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – laravel.log
|
NULL
|
77673
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands\Reports;
use Carbon\Carbon;
use Illuminate\Console\Command;
use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher;
use Illuminate\Support\Collection;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\RequestGenerateReportJob;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Team;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
class AutomatedReportsCommand extends Command
{
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[automated-reports]';
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'automated-reports
{--report-id= : Process a specific report by ID or UUID (bypasses frequency scheduling)}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Process automated reports based on their frequency (weekly, monthly, quarterly).
Use --report-id to manually trigger a specific report by ID or UUID.';
public function __construct(
private readonly LoggerInterface $logger,
private readonly BusDispatcher $dispatcher,
private readonly AutomatedReportsRepository $reportRepository
) {
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
public function handle(): int
{
$this->logger->info(self::LOG_PREFIX . ' Started');
$this->disableExpiredAskJiminnyReports();
$now = Carbon::now();
$isMonday = $now->isMonday();
$isWeekend = $now->isWeekend();
$isFirstDayOfMonth = $now->day === 1;
$currentMonth = $now->month;
$isManualTrigger = $this->option('report-id') !== null;
// Check if the current month is a quarterly month (January, April, July, October)
$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);
$this->logger->info(self::LOG_PREFIX . ' Checking conditions', [
'isMonday' => $isMonday,
'isWeekend' => $isWeekend,
'isFirstDayOfMonth' => $isFirstDayOfMonth,
'currentMonth' => $currentMonth,
'isQuarterlyMonth' => $isQuarterlyMonth,
]);
// Process daily reports on weekdays only (skip Saturday/Sunday).
// Manual triggers via --report-id bypass the weekend skip.
if (! $isWeekend || $isManualTrigger) {
$this->processReports(AutomatedReportsService::FREQUENCY_DAILY);
} else {
$this->logger->info(self::LOG_PREFIX . ' Skipping daily reports on weekend');
}
// Process weekly reports on Mondays
if ($isMonday) {
$this->processReports(AutomatedReportsService::FREQUENCY_WEEKLY);
}
// Process monthly reports on the first day of the month
if ($isFirstDayOfMonth) {
$this->processReports(AutomatedReportsService::FREQUENCY_MONTHLY);
}
// Process quarterly reports on the first day of January, April, July, and October
if ($isFirstDayOfMonth && $isQuarterlyMonth) {
$this->processReports(AutomatedReportsService::FREQUENCY_QUARTERLY);
}
$this->logger->info(self::LOG_PREFIX . ' Completed');
return 0;
}
private function disableExpiredAskJiminnyReports(): void
{
$expiredReports = $this->reportRepository->getExpiredActiveAskJiminnyReports();
foreach ($expiredReports as $report) {
$this->logger->info(self::LOG_PREFIX . ' Disabling expired Ask Jiminny report', [
'reportUuid' => $report->getUuid(),
'teamId' => $report->getTeamId(),
'expiresAt' => $report->getExpiresAt()?->toDateString(),
]);
$this->reportRepository->update($report, ['status' => false]);
}
}
/**
* Process reports for a specific frequency.
*
* @param string $frequency
*
* @return void
*/
private function processReports(string $frequency): void
{
$this->logger->info(self::LOG_PREFIX . " Processing $frequency reports");
$reportId = $this->option('report-id');
if ($reportId !== null) {
$reports = $this->getReportById($reportId);
} else {
// Get all enabled, not deleted reports with active teams for the specified frequency
$reports = $this->reportRepository->getActiveReportsByFrequency($frequency);
}
$this->logger->info(self::LOG_PREFIX . " Found {$reports->count()} $frequency reports to process");
/** @var AutomatedReport $report */
foreach ($reports as $report) {
$this->logger->info(self::LOG_PREFIX . ' Dispatching Generate Report job for report', [
'reportUuid' => $report->getUuid(),
'teamId' => $report->getTeamId(),
'frequency' => $report->getFrequency(),
'type' => $report->getType(),
]);
$job = $report->isAskJiminnyReport()
? new RequestGenerateAskJiminnyReportJob($report->getUuid())
: new RequestGenerateReportJob($report->getUuid());
$this->dispatcher->dispatch($job);
}
}
private function getReportById(string $reportId): Collection
{
$report = $this->reportRepository->findByIdOrUuid($reportId);
if ($report === null) {
$this->logger->warning(self::LOG_PREFIX . ' Report not found for --report-id', ['reportId' => $reportId]);
$this->warn("Report not found: {$reportId}");
return collect();
}
if (! $report->getStatus()) {
$this->logger->warning(self::LOG_PREFIX . ' Report is inactive, processing anyway (manual override)', [
'reportId' => $reportId,
'reportUuid' => $report->getUuid(),
]);
$this->warn('Report is inactive — processing anyway (manual override).');
}
$team = $report->getTeam();
if ($team->getStatus() !== Team::STATUS_ACTIVE) {
$this->logger->warning(self::LOG_PREFIX . ' Team is not active, processing anyway (manual override)', [
'reportId' => $reportId,
'reportUuid' => $report->getUuid(),
'teamId' => $report->getTeamId(),
'teamStatus' => $team->getStatus(),
]);
$this->warn("Team #{$report->getTeamId()} is not active — processing anyway (manual override).");
}
if ($report->isExpired()) {
$this->logger->warning(self::LOG_PREFIX . ' Report is expired, processing anyway (manual override)', [
'reportId' => $reportId,
'reportUuid' => $report->getUuid(),
'expiresAt' => $report->getExpiresAt()?->toDateString(),
]);
$this->warn('Report is expired (expires_at: ' . $report->getExpiresAt()?->toDateString()
. ') — processing anyway (manual override).');
}
$this->info(self::LOG_PREFIX . ' Automated report found ' . $report->getCustomName());
return collect([$report]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
8
Previous Highlighted Error
Next Highlighted Error
[2026-04-24 10:24:09] local.INFO: [automated-reports] Started {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Checking conditions {"isMonday":false,"isWeekend":false,"isFirstDayOfMonth":false,"currentMonth":4,"isQuarterlyMonth":true} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Processing daily reports {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Found 1 daily reports to process {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Dispatching Generate Report job for report {"reportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","teamId":1,"frequency":"weekly","type":"ask_jiminny"} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Completed {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:11] local.INFO: [AskJiminnyReport:Generate] Started {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43"} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport] Fetched activity IDs for saved search {"saved_search_id":1977,"user_id":143,"activity_count":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Fetched activity IDs {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Not enough activities, skipped {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Dispatched not-generated notifications {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","recipientsCount":1} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: [Send Report Not Generated Mail] Email sent {"uuid":"dcb12181-9de1-4ef0-9d45-fb4ea6fd0778","email":"[EMAIL]"} {"correlation_id":"27ada0cc-4eb3-49c4-9115-19ece9e24576","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – laravel.log
|
NULL
|
77674
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
PhpStormVIeWINavigarecodeLaravelKeractorJOOISWindowmelpFV faVsco.js v#12011 on JY-20157-AJ-report-not-send-notificationProleteyphe logging.phpphp logos.phppip mall.onppip maxio.onppip meala-streaming.onppip proonel"al.ondphp queue.phppnp salestorce.onpphp Samiz.onpphp secure-neaders.ongphp services.onpphp slack.onophp testina.ohophp timezones.ohophp webhook-server.ohp> D contrib→ database› O docsM front-end> 0 lang>O node_modules library root> O phpstan> M nublic› Dresourcesv D routesphp api.phpphp api_v2.phppnp console.onopnp customer_api.onppnp embedded.ongpnp nealtn.onppnp scim.onophp uprotectedweb.phpphp web.phpphp webhook.php>O scripts~D storage•aoo>D debugbar… M frameworkv Mloas.aitianoreD audio.wav= custom.loal=hubsnot-iournal-noll.log= laravel logus tht is© AutomatedReportsCommand.php x© AutomatedReportsSendCommand.php© TrackAutomatedReportGeneratedEvent.phpcreatenuagecreatedevent.ong© TrackAutomatedReportGeneratedEventTest.php© SendRe© ActivityController.php© Kernel.phpclass AutomatedReportscommand extends command39 đprivate const string LOG_PREFIX = '[automated-reports]' ;* The name and sianature of the console command.* @var stringorotected Sstonature = 'automated-renortsi{--report-id= : Process a specific report by ID or UUID (bypasses frequency scheduling)}';* The console command descrintioni* @var stringprotected $description = 'Process automated reports based on their frequency (weekly, monthly, quarterly).Use --report-id to manually trigger a specific report by ID or UUID.';pudLic tunction__construct(private readonly LoggerInterface $logger,private readonly BusDispatcher $dispatcher,private readonly AutomatedReportskepository Sreportrepositoryparent:: constructo* Execute the console command.* dreturn intpublic function handle): intSthis->loagen.sinfo/colf..InG pRESTy " Stanted!)»Sthis->disahleFyninedAck.liminnvRenontcoSnow = Carbon: :now();CicMondav - Cnow-sicMondavd•) sendkeportJob.pnpA2X2 AYLukas/Stefka 121 • in 35 m100% (42Fri 24 Apr 13:25:27E custom.logE laravel.log XA SF (jiminny@localhost]A console (PROD]console [STAGING][2026-04-24 10:24:09] Local. INFO: [automated-reports] Started {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5", "trace_id" :"6af075f9-940e-4789-b9b4-ct[2026-04-24 10:24:09] Local. INFO: [automated-reports] Checking conditions {"isMonday":false, "isWeekend":false,"isFirstDay0fMonth":false, "currentMonth" :4, "isQU[2026-04-24 10:24:09] Local. INFO:Laucomaced-reports Processing darly reports i correlatton lo. 4etoezs2-8802-4755-8705-02ttyscobz05", thace 20. батбурту-[2026-04-24 10:24:10] Local. INFO:[automated-reports] Found 1 daily reports to process {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5", "trace_id":"€12020-04-24 10.24.10 Local.INFU.mus urspacchne benenare керогидоо тог перомь зпесомсииам, чтосакро-туб-чода-умас-воотут5о45"Сеатна[2026-04-24 10:24:10] Local. INFO:2026-04-24 10:24:111 Local.INFU:AskJiminnyRepont:Genenate Stanted automatedkeportuu1d":"4t6ca205-1993-48aa-99ad-b6ot19t150457 1"connelatzon 1d": "00ca4[2026-04-24 10:24:15] Local. INF0:[AskJiminnyReport] Fetched activity IDs for saved search {"saved_search_id":1977,"U2026-04-24 10:24:151AskJiminnyReport.Genenate Fetched actavity los automatedkepontuu1d":"4t6ca205-1993-48aa-[CREDIT_CARD]"Act 1v1tyCou[2026-04-24 10:24:15] Local. INFO:[AskJiminnyReport:Generate] Not enough activities, skipped {"automatedReportUvid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43", "ac2026-04-24 10:24:15 Local.INF0:AskJ1minnyReport:Generatel Dispatched not-generated notifications "automatedReportUu1d":"4t6ca2b5-1993-48aa99ad-b66f19F19[2026-04-24 10:24:18]Local. INFO:[Send Report Not Generated Mail] Email12026-04-24 10:24118LocaLaNFo: Jamanny console Commands Command: * runi[2026-04-24 10:24:18]Local. INFO:[ScheduleBotCommand] Number of activities to be captured: 012026-04-24 10:24:181nenIeWEiR aiminny Vonsolle commands TommandRanun Memony usade for command "commanda"meetaino-hotaschedm le-hotu"memonveronecommandi ni[2026-04-24 10:24:26]local. INFO: Jiminny\Console\Commands\Command: :run Memory usage before starting command {"cor2026-04-24 10:24:261local.INFO: Jiminny \Console\Commands \Command::run Memory usage for command {"command":"dialers:monitor-activities", "memoryBeforeCommand][2026-04-24 10:24:35]Local.NOTICE: Monitoring start12026-04-24 19•24•3571Local.NOTICE: Monitoring end{"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771", "trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b*[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command: :run Memory usage before starting command {"co[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command: :run Memory usage for command {"command" : "mailbox: skip-lists:refresh", "memoryBeforeCommand][2026-04-24 10:24:53] local. INFO: Jiminny\Console\Commands\Command: :run Memory usage before starting command {"cr[2026-04-24 10:24:53] Local.INFO: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d". "tr[2026-04-24 10:24:53] Local. INFO:[EmailSchedule] FINISHED batch process {"host":"docker_Lamp_1", "processed" :0} {"correlation_id":"ebdfa028-0918-4dff-8eec-baf[2026-04-24 10:24:53] Local. INFO: Jiminny\Console\Commands\Command: :run Memory usage for command {"command" : "mailbox:batch:process", "memoryBeforeCommandInMb" :[2026-04-24 10:25:01] Local. INFO: Jiminny\Console\Commands\Command: :run Memory usage before starting command {"cor[2026-04-24 10:25:01] Local. INFO: Running conference:monitor:count command for activities in (2026-04-24 10:23:00,f"correlation_id". "6a[2026-04-24 10:25:01] Local. INFO:[conference:monitor:count] No activities found in (2026-04-24 10:23:00, 2026-04-24 10:25:00][2026-04-24 10:25:01] Local. INFO: Jiminny\Console\Commands\Command: :run Memory usage for command {"commnd" : "conference:monitor:count" "memoryBeforeCommandIn![2026-04-24 10:25:09] Local. INFO:Jiminny\Console\Commands\Command: :run Memory usage before starting command {"com[2026-04-24 10:25:10] Local.INFO:[SocialAccountService] Fetching token ("socialAccountId":1496, Norovider": "aircall"' f"correlation_id": "11e8b9cf-a3f0-49b8-9€[2026-04-24 10:25:10] Local.INFO:[SocialAccountService] Token retrieved {"socialAccountId":1496, "provider": "aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-s)[2026-04-24 10:25:10] Local. INFO: [EncryptedTokenManager] Generating access token.[2026-04-24 10:25:10] Local.ERROR: [Aircall] Re-activating webhooks failed {"team_¡d":1,"reason":"{\"message\";\"Forbidden\"}"} {"correLation_¡d";"11e8b9cf-a?[2026-04-24 10:25:10] Local. INFO: Jiminny\Console\Commands\Command: :run Memory usage for command {"cond":"activitv.aircall:check-and-renew". "memoryßeforecdf 4 spaces...
|
PhpStorm
|
faVsco.js – laravel.log
|
NULL
|
77677
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
iTerm2ShelllEditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentspuktse.coa5-Kovt fks-MacBoorofrot, tmimmf l in /Users/lukas or its parents-zshAPP (-zsh)$0• Lukas/Stefka 121 - in 35 m100% <78• *3screenpipe"• ₴4-zshFri 24 Apr 13:25:28T81*5...
|
PhpStorm
|
faVsco.js – laravel.log
|
NULL
|
77678
|
|
Last login: Fri Apr 24 12:59:23 on ttys009
Poetry Last login: Fri Apr 24 12:59:23 on ttys009
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
iTerm2
|
-zsh
|
NULL
|
77679
|
|
Last login: Fri Apr 24 12:59:23 on ttys009
Poetry Last login: Fri Apr 24 12:59:23 on ttys009
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
iTerm2
|
-zsh
|
NULL
|
77680
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
PhostormViewINavigarecodeLaravelKeractorJOOISWindowmelpFV faVsco.js~#12011 on JY-20157-AJ-rerProledeyphe logging.phpphp logos.phppip mall.onppip maxio.onppip meala-streaming.onppip proonel"al.ondphp queue.phppnp salestorce.onpphp Samiz.onpphp secure-neaders.ongphp services.onpphp slack.onophp testina.ohophp timezones.ohophp webhook-server.ohp> D contrib→ database>docsM front-end> 0 lang>O node_modules library root> O phpstan> M nublic› Dresourcesv D routesphp api.phpphp api_v2.phppnp console.onopnp customer_api.onppnp embedded.ongpnp nealtn.onppnp scim.onophp uprotectedweb.phpphp web.phpphp webhook.php>O scripts~D storage>D debugbar… M frameworkv Mloas.aitianoreD audio.wav= custom.loal=hubsnot-iournal-noll.log= laravel logus tht is© AutomatedReportsCommand.php x© AutomatedReportsSendCommand.php© TrackAutomatedReportGeneratedEvent.phpy createnuagecreatedevent.ong© TrackAutomatedReportGeneratedEventTest.php© SendRe© ActivityController.php© Kernel.phpclass AutomatedReportscommand extends command39 đprivate const string LOG_PREFIX = '[automated-reports]' ;* The name and sianature of the console command.* @var stringorotected Ssonature ='automated-renortsi{--report-id= : Process a specific report by ID or UUID (bypasses frequency scheduling)}';* The console command descrintioni* @var stringprotected $description = 'Process automated reports based on their frequency (weekly, monthly, quarterly).Use --report-id to manually trigger a specific report by ID or UUID.';pudLic tunction__construct(private readonly LoggerInterface $logger,private readonly BusDispatcher $dispatcher,private readonly AutomatedReportskepository Sreportrepositoryparent:: constructo* Execute the console command.* dreturn intpublic function handle): intSthis->loagen.sinfo/colf..InG pRESTy " Stanted!)»Sthis->disahleFyninedAck.liminnvRenontcoSnow = Carbon::now();CicMondav - Cnow-sicMondavd•) sendkeportJob.pnpA2X2 AYLukas/Stefka 121 • in 35 m100% (42Fri 24 Apr 13:25:35E custom.logE laravel.log xA SF [jiminny@localhost]A console (PROD]console [STAGINGI[2026-04-24 10:24:09] Local.INFO: [automated-reports] Started {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5", "trace_id" :"6af075f9-940e-4789-b9b4-ct[2026-04-24 10:24:09] Local. INFO: [automated-reports] Checking conditions {"isMonday":false, "isWeekend":false,"isFirstDay0fMonth":false, "currentMonth" :4, "isQU[2026-04-24 10:24:09] Local. INFO:[automated-reports] Processing daily reports {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5", "trace_id":"6af075f9-[2026-04-24 10:24:10] Local. INFO:[automated-reports] Found 1 daily reports to process {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5", "trace_id":"€[2026-04-24 10:24:10] Local. INFO:onus urspacchrnо bеnеrarе керопиноо тог перомь зпесомсииа, чтосавро-тумо-4оаа-уиа0-то0тут5045 Lеатна[2026-04-24 10:24:10] Local. INFO:2026-04-24 10:24:111 Local.INFU:[AskJiminnyReport:Generate] Started {"automatedReportUvid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43"} {"correlation_id":"00ca4t[2026-04-24 10:24:15] Local. INF0:[AskJiminnyReport] Fetched activity IDs for saved search {"saved_search_id":1977, "user_id":143, "activity_count":0} {"correle2026-04-24 10:24:151AskJiminnyRepont:Generatel Fetched actavity 1os automatedRenontuu1d":"4t6ca205-1993-48aa-99ad-066119115045actav1tycour[2026-04-24 10:24:15] Local. INFO:[AskJiminnyReport:Generate] Not enough activities, skipped {"automatedReportUvid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43", "ac2026-04-24 10:24:15 Local.INF0:Ask.1m1nnyReportAGeneratelbssparched_not-genenated nothficationsautomatedRenortuund":"416cа205-1995-48aа-99ad-D66f19F1.[2026-04-24 10:24:18]Local. INFO:[Send Report Not Generated Mail] Email12026-04-24 10:24118LocaLaNFo: Jamanny console commands Command: * run[2026-04-24 10:24:18]Local. INFO:[ScheduleBotCommand] Number of activities to be captured: 012026-04-24 10:24:181LocaL,INF0: Jiminny Console Commands Command: :run.Memory usage for command -"command""meetino-bot:schedule-bot""memorvßeforeCommandiin™[2026-04-24 10:24:26]Local. INFO:Jiminny\Console\Commands\Com2026-04-24 10:24:261nentewEiR himinny Vonsolle Tommands TommandRanun Memony usade for command command" rbla lensamonitior-actavtalesi "memonvsetonecommandl[2026-04-24 10:24:35] Locaz.NOTICE: Monitoring start12026-04-24 19•24•3571Local.NOTICE: Monitoring end[2026-04-24 10:24:45] local. INFO: Jiminny\Console\Commands\Cor[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command: :run Memory usage for command {"command" : "mailbox: skip-lists:refresh", "memoryBeforeCommand][2026-04-24 10:24:53] local. INFO: Jiminny\Console\Commands\Command: :run Memory usage before starting command {GTARTING hatch nencess Chostl- "docken lam 19 "eoccallation l-"Shdfa028-0918-155-800s-hafa1997E9A 15t[2026-04-24 10:24:53] Local. INFO:[EmailSchedule] FINISHED batch process {"host":"docker_lamp_1", "processed":0} {"correlation_id":"ebdfa028-0918-4dff-8eec-baf[2026-04-24 10:24:53] Local. INFO: Jiminny\Console\Commands\Command: :run Memory usage for command {"comma[2026-04-24 10:25:01] Local. INFO: Jiminny\Console\Commands\Command: :run Memory usage before starting command {"co[2026-04-24 10:25:01] Local. INFO: Running conference:monitor:count command for activities in (2026-04-24 10:23:00,[2026-04-24 10:25:01] Local. INFO:[conference:monitor:count] No activities found in (2026-04-24 10:23:00, 2026-04-24 10:25:00]and" : "conference:monitor:count" "memoryBeforeCommandIn![2026-04-24 10:25:09] Local. INFO:Jiminny\Console\Commands\Command: :run Memory usage before starting command {"command": "activity:aircall:check-and-renew", "me[2026-04-24 10:25:10] Local.INFO:[SocialAccountService] Fetching token {"socialAccountId":1496, "provider": "aircall"} f"correlation_id":"11e8b9cf-a3f0-49b8-9€[2026-04-24 10:25:10] Local. INFO:[SocialAccountService] Token[2026-04-24 10:25:10] Local. INFO: [EncryptedTokenManager] Generating access token.[2026-04-24 10:25:10] Local.ERROR: [Aircall] Re-activating webhooks failed {"team_¡d":1,"reason":"{\"message\";\"Forbidden\"}"} {"correLation_¡d";"11e8b9cf-a?[2026-04-24 10:25:10] Local. INFO: Jiminny\Console\Commands\Command: :run Memory usage for command {"command": "activity:aircall: check-and-renew"."memoryßeforecd[2026-04-24 10:25:18] Local. INFO:[RetryFailedDownloads] Starting {"options":{"from":null, "to":null, "help":false, "silent": false, "quiet": false, "verbose": false,...
|
PhpStorm
|
faVsco.js – ReportNotGenerated.php
|
NULL
|
77681
|
|
PhostormVIewINavigarecodeLaravelKeractorWindowFV f PhostormVIewINavigarecodeLaravelKeractorWindowFV faVsco.js#12011 on JY-20157-AJ-report-not-send-notificatiProledeyAutomateakeporssendcommana.onp© senakeportJob.onp© senakepormallJob.onpSendReportNotGeneratedMailJob.php> @ Calendar0 crm› _Delele>@ Hubspot> C Salesforce(c) AutoloqDelavedToerm.phpC) CheckAndRetrvRemoteMatch.ohc© CreateFollowupActivitv.phpc) CreateNotes.oho© MatchActivitiesToNewOpportunitv.ohnc)MatchActivivermData.ono(E) [EMAIL]) SaveActivitv.oho© SaveTranscriotion.ohvC) Setuolavout.oho© SyncActivity.php© SyncFieldMetadata.php© SyncHubspotObjects.php© SyncLeads.php© SyncObjects.php© SyncOpportunitiesJob.php© SyncOpportunity.php© SyncProfileMetadata.php© SyncTeamFieldsJob.php© SyncTeamMetadata.php© UpdateOpportunitySpecifications.phpc) Updatestage.pho> C DealRisksTelephonvM User• ПгаскаutомаtеокерonceneratedeventohpCreateNudgeCreatedEvent.phportNotGenerpted.php x © SendF© EventCancelled.phpActivityController.php) Service.phoC) UserAutomatedReportsController.pho(C) AutomatedReport.php© AutomatedReportsService.php© SendReportJob.php© SendReportMailJob.phpC) Kernel.phpclass SendReportNotGeneratedMailJob implements ShouldBeUnique, ShouldQueue O(C) ChandeEmailJob.oho@ DeactivateUser.Job.ohn@DeleteScheduledUcerActivitiesForinsichtSeatUcers, 59(C) SeturDefaultSavedSearches.ohn"C) SvncTolntercom.ohn(C) SvncToPlanhat.nhn© SyncToUserPilot.phpC. RaseProcescina.loh.nhnC) Dummv.loh.nhnl© ImportRecallAlRecordingsJob.php© ImportRemoteTrackJob.php© Job.php(e) Iobnicnatchor nhnA3.V* @var array<int, int>public array $backoff = [60, 300, 6001:pubLic 1nt scimeout = 60public function construct(private readonly string Srecipientemail,private readonly strina Srevortnamelrivate readonly strina SperiodName..orivate readonly strino SrenortsPageurlSthis->onQueuecauConstants: • QUEUE ANALYTICS LOW:public function uniqueld: stringreturn $this->reportUuid . '_not_generated_' . $this->recipientEmail;public function handle(LoggerInterface $logger): void$mailSubject = "Your '{Sthis->reportName}' report wasn't generated":try{$mailable = new ReportNotGenerated(reporcname. schis->reporcname.perzooname: schis->per1odName.reportsPageUrl: Sthis->reportsPageUrl.marlSubnect: SmarlsubnectMail::mailer( name: 'postmark')>tosth1s->recto1entzma1bl->send(Smailable)Sloader->info(self:LOG PRESTX .'Email sent', ['uuid"= Sthis->renortluidi• LuKas steTka 121 • In 34m100% 12r1 24 Aor 13-20:00+0 ..« SF [jiminny@localhost]A HS_local [jiminny@localhost]& console (PRODIA console (EU]A console [STAGING]W44.V12020-04-24 10.24.0% Local.LNFU. Lautonared-reports started{"correlation_id":"4ef6e232-88d2-493512020-04-24 10.24.0% Local.LNFU. Laucomaced-reports Checking conalcions 1 Ishondayfulse, "1Sweekel12020-04-24 10.24.0% Locat.LNrU.aucomaced-reporcs. Processino dally reporcs2026-04-24 10:24:10 Local.INFU: automated-reports Found 1 dally reports to processi"correlatior(2026-04-24 10:24:10] local.INF0: [automated-reports] Dispatching Generate Report iob for report {"re2826-04-24 10:24:1011automated-reports completed*"correlation_1d":"4ef6e252-8802-49.2026-04-24 10:24:11 Local.INFU: ASkJ1m1nnvReport:Generatel Started ""automatedReportUu1d": "4f6ca2i2826-04-24 10:24:151AskJ1m1nnvReport Fetched activity IDs for saved search -"saved_se[2026-04-24 10:24:15] local. INF0: [AskJiminnyReport:Generate] Fetched activity IDs {"automatedReportlLocoL.INFo"Ask.aminnvRevort: Generatel Not enouch activitles, skloded c'automi[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Dispatched not-generated notifications2026-04-24 10:24:181Local.INFD: Send Renort Not Generated Mail Email sent "uuid"."dcb12181-9de1[2026-04-24 10:24:18Jlocal.INFO: Jiminny Console\Commands\Command::run Memory usage before starting[2026-04-24 10:24:18] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 1"cori[2026-04-24 10:24:18] local.INF0: Jiminny Console\Commands\Command::run Memory usage for command 1"cc[2026-04-24 10:24:26] local.INF0: Jiminny Console\Commands\Command::run Memoryusage before starting[2026-04-24 10:24:26] local.INF0: Jiminny \Console\Commands\Command::run Memory usage for command {"co[2026-04-24 10:24:35] local.NOTICE: Monitoring startS"connplation idu.«862cd£2d-46ca-4£7h-066h-79a%[2026-04-24 10:24:35] local.NOTICE: Monitoring end{"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f![2026-04-24 10:24:45] local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting[2026-04-24 10:24:45] local.INF0: Jiminny\Console \Commands\Command::run Memory usage for command {"co[2026-04-24 10:24:53] local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting[2026-04-24 10:24:53] local.INF0: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"с[2026-04-24 10:24:53] local.INF0: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1" "pro12020-04-24 10.24.00 Locat.INrU. Jiminny console commanas command..run Menory usace ror commana 1C[2026-04-24 10:25:01] local.INF0: Jiminny Console\ Commands Command::run Memory usage before starting2026-04-24 10:25:01 Local.LNFU: Runnino conterence:monitor:count command tor activitles in (2026-04[2026-04-24 10:25:01] local.INF0: [conference:monitor:count] No activities found in (2026-04-24 10:2:2826-04-24 10:25:01 Local.LNFU: Jiminny Console Commands Command: :run Memory usage tor command ""co2826-04-24 10:25:09 Local.INFU:Jiminny\Console\Commands\Command::run Memory usage before starting12826-84-24 10:25:101 LocaL INFU: SocIaLAccountService Fetchina token *"soc1alAccountld":1496."oro|[2026-04-24 10:25:101 local,INF0: [SocialAccountServicel Token retrieved {"socialAccountId" • 1496. "or2026-04-24 10:25:101 Local.INF0:EncrvotedTokenManagerIGenerating access token. "mode"*"Leqacy"2026-04-24 10:25:101 LocaL,ERROR:[Aircalll Re-activating webhooks failed {"team id"-1. "reason"."fV2026-04-24 10:25:101 Local.INF0: Jiminny Console Commands Command::run Memory usage for command *"cd[2026-04-24 10:25:18] Local.INF0: [RetryFailedDownloads] Starting {"options": {"from":null,"to":null,'CascadeRetactor Report Notitt_ SendReportiNotgeneratedMallJob.ohpnNow updale the dispatcher call:e ReauestGenerateAsk.JiminnvReport.lob.ohvThought for 1cNow update the test files:SendReportNotGeneratedMailJobTest.ohvNow check the ReportNotGeneratedTest and RequestGenerateAskJiminnyReportJobTest for any related assertionsSearched recipientName recipient name Should@ueue and pertormed 3 other queries ?Searched SendReportNotGeneratedMailJob and performed 1 other queryRead RenortNotGeneratedTest.ohn• SendReportNotGeneratedMailJobTest.phpLet me also run the tests to verify:Command dockerPHPUnit 11.5.55 by Sebastian Bergmann and contributors.configuration: Phome/3iminny/phpunit. xmt24 / 21 119991Time: 00:05.818. Memory: 74.00 MBAll 24 tests passSummaryApplied the three minor fixes from the code review:+1 -11• ReportNotGenerated.php: Removed redundant ShouldQueue interface, Queueable and SerializesModels traits. Mailable is nowdispatched onlv via the queued iob• SendReportNotGeneratedMailJob.php: Removed unused SrecipientName constructor parameter and its log field• RequestGenerateAskliminnvRenort.lob.oho: Extracted SactivitvCount = count(SactivitvIds): local variable (reolaces 3 duolicate• Tects undated: SendRenortNotGeneratedMai1.1obTect.ohn - removed recinientName wiring and switched Mal. accertQueued → M:1l::assertSent since the Mailable no longer self-queuesAll 24 related tests passAsk anvthina (84L)÷ « CodeClaude Onus 4.7 MediumWN Windsurf Toams 50-10UTF.8io 4 spaces...
|
PhpStorm
|
faVsco.js – ReportNotGenerated.php
|
NULL
|
77682
|
|
PhostormVIewNavicarecodeWindowFV faVsco.js#12011 o PhostormVIewNavicarecodeWindowFV faVsco.js#12011 on JY-20157-AJ-report-not-send-notificatAutomateakeporssendcommana.onp7 Crm• ПгаскаutомаtеокерonceneratedeventohpCreateNudgeCreatedEvent.phpDealRisks• ElasticSearcharated.php x © SenD GroupsImpori> @ Mailbox~ DNudgesv D UserPilot© EventCancelled.phpActivityController.php) Service.phoC) UserAutomatedReportsController.pho(C) AutomatedReport.phpC) AutomatedReportsService.phpC) SendReportJob.phpC)SendReportMailJob.ohoC) Kernel.phpc) createnuagecreateaevent.onpnamesoace Jiminny Mail Revorts.K2A Vc createnuagecreateaevent.onp> C Opportunitiesuse Jiiminny Mar Mart ahile:v _ Playbooksc) Arachlavout.onoc) Changesidekickserinas.onoIclass RenortNotGenerated extends Mailahlev D Plavlists>→ Activitiespublic function __construct(v Planhatprivate readonly string SreportNameC) CreateActivivAddedTio?lavlistevent.onoprivate readonly string sperzodnane→hUserPilot9.ImportGrounPlavlistSharesListener.ohnorivare readonly scrine sreporusrageurl.orivare readonly scrine smallsudect., MTeamsiM Transcritionv MUsersg) ActivitvProviderDisconnectedListener.php© ActivityProviderintegrated.php9 CreateDefaultDlavlict nhrpublic tunction buildo: Mallable© CreateDefaultSavedSearches.php$logoCDN = confia( key: 'logos.cdn.headen'):(c) CreateGrouoCreatedeventonpSfululogocdn= confiackey: "Zogos.con. footer'):© DeleteScheduledUserActivitiesForInsightSeatUsers.r0 NotifvCrm@wnerDisconnectedListener.php9) NotifvCrmUserDisconnectedListener.ongSfromAddress = confiackey:mail.from.address')if (config( key: 'jiminny.deploy_region') === 'eu') {(e) SotDefaultAvatarListener.ohp© setupcalendarsync.onp© SetupMailSync.php© SyncIntercom.phpreturn Sthis© SyncPlanhat.php->fromSfromAddress confiad kev: "mail from.name'))© SyncUserPilot.php-›view( view: 'emails.reports.report-not-generated', [© ValidateSendinaMessage.php"penontNamel => Sthis->renontNamel© ValidateSendinaNotification.php> MWebhook=aitkeen'periodName' => $this->periodName,'reportsPageUrl' => $this->reportsPageUrl'isReport' => true.(C) ChandeLoaContextCorrelationld.ohv'headerLogoCdn' => $logoCDN,v M Maill> M ActivitiestoocerLogolan'=> $fullLogoCDN0 Calendars>M Crm->subiect(Sthis->mailSubiect):M Renorte•RenortNotGenerated.nho(C) RenortWithAttachment nhn(C) Mailable nhnv M Modolc• LuKas steTka 121 • In 34m100% 12r1 24 A0r 13-20-14+0 ..= laravel.log X« SF [jiminny@localhost]# ho_local yiminny@localnost& console (PRODIA console (EU]A console [STAGING]12020-04-24 10.24.0% Local.LNFU. Lautonared-reports scartedW44.V{"correlation_id":"4ef6e232-88d2-493512020-04-24 10.24.0% Local.LNFU. Laucomaced-reports Checking conalcions 1 Ishondayfulse, "1Sweekel12020-04-24 10.24.0% Locat.LNrU.aucomaced-reporcs. Processino dally reporcs2026-04-24 10:24:10 Local.INFU: automated-reports Found 1 dally reports to process{"correlatior(2026-04-24 10:24:10] local.INF0: [automated-reports] Dispatching Generate Report iob for report {"re2826-04-24 10:24:1011Local.INFU:automated-reports completed*"correlation_1d":"4ef6e252-8802-49.2026-04-24 10:24:11 Local.INFU: ASkJ1m1nnvReport:Generatel Started ""automatedReportUu1d": "4f6ca2i2826-84-24 10:24:151Local.INF0: ASkJ1m1nnvReport Fetched activity IDs for saved search -"saved_se[2026-04-24 10:24:15] local. INF0: [AskJiminnyReport:Generate] Fetched activity IDs {"automatedReportl12026-04-24 10:24 15 Loc0LINFOKAsk.aminnvRevort: Generatel Not enouch activitles, skloded c"auton[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Dispatched not-generated notifications2026-04-24 10:24:181 Local,INF0: Send Renort Not Generated Maill Email sent"uuid"."dcb12181-9de1[2026-04-24 10:24:18] local.INF0: Jiminny Console\Commands\Command::run Memory usage before starting[2026-04-24 10:24:18] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 1"cori[2026-04-24 10:24:18] local.INF0: Jiminny Console\Commands\Command::run Memory usage for command 1"cc[2026-04-24 10:24:26] local.INF0: Jiminny Console\Commands\Command::run Memory usage before starting[2026-04-24 10:24:26] local.INF0: Jiminny \Console\Commands\Command::run Memory usage for command {"co[2026-04-24 10:24:35] local.NOTICE: Monitoring startS"connplation idu.«862cd£2d-46ca-4£7h-066h-79a%[2026-04-24 10:24:35] local.NOTICE: Monitoring end{"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f:[2026-04-24 10:24:45] local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting[2026-04-24 10:24:45] local.INF0: Jiminny\Console \Commands\Command::run Memory usage for command {"co[2026-04-24 10:24:53] local.INF0: Jiminny\Console\Commands\Command::run Memory usage before starting[2026-04-24 10:24:53] local.INF0: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"с[2026-04-24 10:24:53] local.INF0: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1" "pro12020-04-24 10.24.00 Locat.INrU. Jiminny console commanas command..run Menory usace ror commana 1C[2026-04-24 10:25:01] local.INF0: Jiminny Console\ Commands Command::run Memory usage before starting[2026-04-24 10:25:01] local.INF0: Running conference:monitor:count command for activities in (2026-04[2026-04-24 10:25:01] local.INF0: [conference:monitor:count] No activities found in (2026-04-24 10:2:2826-04-24 10:25:01 Local.LNFU: Jiminny Console Commands Command: :run Memory usage tor command ""co2826-04-24 10:25:09 Local.LNFU:usage before starting12826-84-24 10:25:101 LocaL INFU: SocIaLAccountService Fetchina token *"soc1alAccountld":1496."oro|[2026-04-24 10:25:101 local,INF0: [SocialAccountServicel Token retrieved {"socialAccountId" • 1496. "or2026-04-24 10:25:101 Local.INF0:EncrvotedTokenManagerIGenerating access token. "mode"*"Leqacy"2026-04-24 10:25:101 LocaL,ERROR:[Aircalll Re-activating webhooks failed {"team id"-1. "reason"."fV2026-04-24 10:25:101 Local.INF0: Jiminny Console Commands Command::run Memory usage for command *"cd[2026-04-24 10:25:18] Local.INF0: [RetryFailedDownloads] Starting {"options":{"from":null, "to":null,'CascadeRetactor Report Notitt_ SendReportiNotgeneratedMallJob.ohpnNow updale the dispatcher call:e ReauestGenerateAsk.JiminnvReport.lob.ohoThought for 1cNow update the test files:• SendReportNotGeneratedMailJobTest.phpNow check the ReportNotGeneratedTest and RequestGenerateAskJiminnyReportJobTest for any related assertionsne recipient name Should@ueue and pertormed 3 other queriesSearched SendReportNotGeneratedMailJob and performed 1 other queryRead RenortNotGeneratedTest.ohn• SendReportNotGeneratedMailJobTest.phpLet me also run the tests to verify:Command dockerPHPUnit 11.5.55 by Sebastian Bergmann and contributors.configuration: Phome/3iminny/phpunit. xmt24 / 21 119991Time: 00:05.818. Memory: 74.00 MBAll 24 tests passSummaryApplied the three minor fixes from the code review:+1 -11• ReportNotGenerated.php: Removed redundant ShouldQueue interface. Queueable and SerializesModels traits. Mailable is nowdispatched onlv via the queued iob• SendReportNotGeneratedMailJob.php: Removed unused SrecipientName constructor parameter and its log field• RequestGenerateAskliminnvRenort.lob.oho: Extracted SactivitvCount = count(SactivitvIds): local variable (reolaces 3 duolicate• Tects undated: SendRenortNotGeneratedMai1.1obTect.ohn - removed recinientName wiring and switched Mal. accertQueued → M:1l::assertSent since the Mailable no longer self-queuesAll 24 related tests passAsk anvthina (84L)+ « CodeClaude Qnus 1.7 MediumWN Windsurf Toams 20•6UTF.8io 4 spaces...
|
PhpStorm
|
faVsco.js – SendReportNotGeneratedMailJob.php
|
NULL
|
77683
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
iTerm2ShelllEditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentspuktse.coa5-Kovt fks-MacBoorofrot, tmimmf l in /Users/lukas or its parents-zshAPP (-zsh)$0• Lukas/Stefka 121 - in 34 m100% C8Fri 24 Apr 13:26:30T₴1• *3screenpipe"• ₴4-zsh...
|
PhpStorm
|
faVsco.js – SendReportNotGeneratedMailJob.php
|
NULL
|
77684
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
1
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Contracts\Routing\UrlGenerator;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AskJiminnyReportActivityService;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateAskJiminnyReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
private const string LOG_PREFIX = '[AskJiminnyReport:Generate]';
private const int MIN_ACTIVITIES_COUNT = 1;
public int $tries = 2;
private ?AutomatedReportResult $reportResult = null;
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
AskJiminnyReportActivityService $activityService,
ProphetClient $prophetClient,
LoggerInterface $logger,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
): void {
$logger->info(self::LOG_PREFIX . ' Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport($this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$creator = $automatedReport->getCreator();
if ($creator === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, report creator not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$savedSearch = $automatedReport->getSavedSearch();
if ($savedSearch === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, saved search not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$prompt = $automatedReport->getAskAnythingPrompt();
if ($prompt === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, ask anything prompt not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$this->reportResult = $reportService->getOrCreateReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
$activityIds = $activityService->getActivityIdsForSavedSearch(
savedSearch: $savedSearch,
user: $creator,
frequency: $automatedReport->getFrequency(),
);
$activityCount = count($activityIds);
$logger->info(self::LOG_PREFIX . ' Fetched activity IDs', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
if ($activityCount < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
$this->dispatchNotGeneratedNotifications(
$automatedReport,
$reportService,
$urlGenerator,
$jobDispatcher,
$logger,
);
return;
}
$payload = $reportService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $this->reportResult,
activityIds: $activityIds,
);
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'payload' => $payload,
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => Carbon::now()->toDateTimeString(),
]);
$logger->info(self::LOG_PREFIX . ' Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::ASK_JIMINNY_REPORT,
requestArray: $payload,
);
$logger->info(self::LOG_PREFIX . ' Response received', [
'response' => $response->getContent(),
]);
} catch (Throwable $exception) {
$reason = $exception instanceof ProphetException
? AutomatedReportResult::REASON_PROPHET_API_ERROR
: AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(self::LOG_PREFIX . ' Error', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult?->getUuid(),
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if ($automatedReport->getType() !== AutomatedReportsService::TYPE_ASK_JIMINNY) {
$logger->warning(self::LOG_PREFIX . ' Skipped, not an ask_jiminny report', [
'automatedReportUuid' => $this->reportUuid,
'type' => $automatedReport->getType(),
]);
return false;
}
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
$this->reportResult?->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
private function dispatchNotGeneratedNotifications(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
LoggerInterface $logger,
): void {
if ($this->reportResult === null) {
return;
}
$recipients = $reportService->getValidRecipientUsers($automatedReport);
if (empty($recipients)) {
$logger->info(self::LOG_PREFIX . ' No recipients to notify about missing report', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$reportName = $automatedReport->getCustomName()
?: $reportService->getReportTypeName($this->reportResult);
$periodName = $reportService->getReportPeriodName($this->reportResult);
$reportsPageUrl = $urlGenerator->route('ai.reports.show');
foreach ($recipients as $recipient) {
$jobDispatcher->dispatch(new SendReportNotGeneratedMailJob(
reportUuid: $this->reportResult->getUuid(),
recipientEmail: $recipient['email'],
reportName: $reportName,
periodName: $periodName,
reportsPageUrl: $reportsPageUrl,
));
}
$logger->info(self::LOG_PREFIX . ' Dispatched not-generated notifications', [
'automatedReportUuid' => $this->reportUuid,
'recipientsCount' => count($recipients),
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
44
Previous Highlighted Error
Next Highlighted Error
[2026-04-24 10:24:09] local.INFO: [automated-reports] Started {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Checking conditions {"isMonday":false,"isWeekend":false,"isFirstDayOfMonth":false,"currentMonth":4,"isQuarterlyMonth":true} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Processing daily reports {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Found 1 daily reports to process {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Dispatching Generate Report job for report {"reportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","teamId":1,"frequency":"weekly","type":"ask_jiminny"} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Completed {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:11] local.INFO: [AskJiminnyReport:Generate] Started {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43"} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport] Fetched activity IDs for saved search {"saved_search_id":1977,"user_id":143,"activity_count":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Fetched activity IDs {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Not enough activities, skipped {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Dispatched not-generated notifications {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","recipientsCount":1} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: [Send Report Not Generated Mail] Email sent {"uuid":"dcb12181-9de1-4ef0-9d45-fb4ea6fd0778","email":"[EMAIL]"} {"correlation_id":"27ada0cc-4eb3-49c4-9115-19ece9e24576","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cdcdc062-b51a-4f27-9d4c-95ef48442391","trace_id":"e7701141-f61a-431e-8fac-697bccd67630"}
[2026-04-24 10:24:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cdcdc062-b51a-4f27-9d4c-95ef48442391","trace_id":"e7701141-f61a-431e-8fac-697bccd67630"}
[2026-04-24 10:24:35] local.NOTICE: Monitoring start {"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771","trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b"}
[2026-04-24 10:24:35] local.NOTICE: Monitoring end {"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771","trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b"}
[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"3529a427-eebb-4c61-9efb-be7b720d4dc3","trace_id":"63b1fd43-6c0e-44d1-a8d4-a7aaa509815d"}
[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"3529a427-eebb-4c61-9efb-be7b720d4dc3","trace_id":"63b1fd43-6c0e-44d1-a8d4-a7aaa509815d"}
[2026-04-24 10:24:53] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1","processed":0} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:25:01] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: Running conference:monitor:count command for activities in (2026-04-24 10:23:00, 2026-04-24 10:25:00] {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: [conference:monitor:count] No activities found in (2026-04-24 10:23:00, 2026-04-24 10:25:00] {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:09] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:aircall:check-and-renew","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1496,"provider":"aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1496,"provider":"aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.ERROR: [Aircall] Re-activating webhooks failed {"team_id":1,"reason":"{\"message\":\"Forbidden\"}"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:aircall:check-and-renew","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:18] local.INFO: [RetryFailedDownloads] Starting {"options":{"from":null,"to":null,"help":false,"silent":false,"quiet":false,"verbose":false,"version":false,"ansi":null,"no-interaction":false,"env":null}} {"correlation_id":"6b84611f-1af3-4e64-8c1c-c963ed5bcfa7","trace_id":"056c6533-0c1b-480c-93bb-4b7c788b5dc4"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – RequestGenerateAskJiminnyReportJob.php
|
NULL
|
77685
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
1
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Contracts\Routing\UrlGenerator;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AskJiminnyReportActivityService;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateAskJiminnyReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
private const string LOG_PREFIX = '[AskJiminnyReport:Generate]';
private const int MIN_ACTIVITIES_COUNT = 1;
public int $tries = 2;
private ?AutomatedReportResult $reportResult = null;
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
AskJiminnyReportActivityService $activityService,
ProphetClient $prophetClient,
LoggerInterface $logger,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
): void {
$logger->info(self::LOG_PREFIX . ' Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport($this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$creator = $automatedReport->getCreator();
if ($creator === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, report creator not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$savedSearch = $automatedReport->getSavedSearch();
if ($savedSearch === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, saved search not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$prompt = $automatedReport->getAskAnythingPrompt();
if ($prompt === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, ask anything prompt not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$this->reportResult = $reportService->getOrCreateReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
$activityIds = $activityService->getActivityIdsForSavedSearch(
savedSearch: $savedSearch,
user: $creator,
frequency: $automatedReport->getFrequency(),
);
$activityCount = count($activityIds);
$logger->info(self::LOG_PREFIX . ' Fetched activity IDs', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
if ($activityCount < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
$this->dispatchNotGeneratedNotifications(
$automatedReport,
$reportService,
$urlGenerator,
$jobDispatcher,
$logger,
);
return;
}
$payload = $reportService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $this->reportResult,
activityIds: $activityIds,
);
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'payload' => $payload,
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => Carbon::now()->toDateTimeString(),
]);
$logger->info(self::LOG_PREFIX . ' Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::ASK_JIMINNY_REPORT,
requestArray: $payload,
);
$logger->info(self::LOG_PREFIX . ' Response received', [
'response' => $response->getContent(),
]);
} catch (Throwable $exception) {
$reason = $exception instanceof ProphetException
? AutomatedReportResult::REASON_PROPHET_API_ERROR
: AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(self::LOG_PREFIX . ' Error', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult?->getUuid(),
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if ($automatedReport->getType() !== AutomatedReportsService::TYPE_ASK_JIMINNY) {
$logger->warning(self::LOG_PREFIX . ' Skipped, not an ask_jiminny report', [
'automatedReportUuid' => $this->reportUuid,
'type' => $automatedReport->getType(),
]);
return false;
}
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
$this->reportResult?->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
private function dispatchNotGeneratedNotifications(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
LoggerInterface $logger,
): void {
if ($this->reportResult === null) {
return;
}
$recipients = $reportService->getValidRecipientUsers($automatedReport);
if (empty($recipients)) {
$logger->info(self::LOG_PREFIX . ' No recipients to notify about missing report', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$reportName = $automatedReport->getCustomName()
?: $reportService->getReportTypeName($this->reportResult);
$periodName = $reportService->getReportPeriodName($this->reportResult);
$reportsPageUrl = $urlGenerator->route('ai.reports.show');
foreach ($recipients as $recipient) {
$jobDispatcher->dispatch(new SendReportNotGeneratedMailJob(
reportUuid: $this->reportResult->getUuid(),
recipientEmail: $recipient['email'],
reportName: $reportName,
periodName: $periodName,
reportsPageUrl: $reportsPageUrl,
));
}
$logger->info(self::LOG_PREFIX . ' Dispatched not-generated notifications', [
'automatedReportUuid' => $this->reportUuid,
'recipientsCount' => count($recipients),
]);
}
}
Sync Changes
Hide This Notification
Code changed:...
|
PhpStorm
|
faVsco.js – RequestGenerateAskJiminnyReportJob.php
|
NULL
|
77705
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
1
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Contracts\Routing\UrlGenerator;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AskJiminnyReportActivityService;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateAskJiminnyReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
private const string LOG_PREFIX = '[AskJiminnyReport:Generate]';
private const int MIN_ACTIVITIES_COUNT = 1;
public int $tries = 2;
private ?AutomatedReportResult $reportResult = null;
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
AskJiminnyReportActivityService $activityService,
ProphetClient $prophetClient,
LoggerInterface $logger,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
): void {
$logger->info(self::LOG_PREFIX . ' Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport($this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$creator = $automatedReport->getCreator();
if ($creator === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, report creator not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$savedSearch = $automatedReport->getSavedSearch();
if ($savedSearch === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, saved search not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$prompt = $automatedReport->getAskAnythingPrompt();
if ($prompt === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, ask anything prompt not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$this->reportResult = $reportService->getOrCreateReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
$activityIds = $activityService->getActivityIdsForSavedSearch(
savedSearch: $savedSearch,
user: $creator,
frequency: $automatedReport->getFrequency(),
);
$activityCount = count($activityIds);
$logger->info(self::LOG_PREFIX . ' Fetched activity IDs', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
if ($activityCount < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
$this->dispatchNotGeneratedNotifications(
$automatedReport,
$reportService,
$urlGenerator,
$jobDispatcher,
$logger,
);
return;
}
$payload = $reportService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $this->reportResult,
activityIds: $activityIds,
);
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'payload' => $payload,
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => Carbon::now()->toDateTimeString(),
]);
$logger->info(self::LOG_PREFIX . ' Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::ASK_JIMINNY_REPORT,
requestArray: $payload,
);
$logger->info(self::LOG_PREFIX . ' Response received', [
'response' => $response->getContent(),
]);
} catch (Throwable $exception) {
$reason = $exception instanceof ProphetException
? AutomatedReportResult::REASON_PROPHET_API_ERROR
: AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(self::LOG_PREFIX . ' Error', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult?->getUuid(),
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if ($automatedReport->getType() !== AutomatedReportsService::TYPE_ASK_JIMINNY) {
$logger->warning(self::LOG_PREFIX . ' Skipped, not an ask_jiminny report', [
'automatedReportUuid' => $this->reportUuid,
'type' => $automatedReport->getType(),
]);
return false;
}
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
$this->reportResult?->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
private function dispatchNotGeneratedNotifications(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
LoggerInterface $logger,
): void {
if ($this->reportResult === null) {
return;
}
$recipients = $reportService->getValidRecipientUsers($automatedReport);
if (empty($recipients)) {
$logger->info(self::LOG_PREFIX . ' No recipients to notify about missing report', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$reportName = $automatedReport->getCustomName()
?: $reportService->getReportTypeName($this->reportResult);
$periodName = $reportService->getReportPeriodName($this->reportResult);
$reportsPageUrl = $urlGenerator->route('ai.reports.show');
foreach ($recipients as $recipient) {
$jobDispatcher->dispatch(new SendReportNotGeneratedMailJob(
reportUuid: $this->reportResult->getUuid(),
recipientEmail: $recipient['email'],
reportName: $reportName,
periodName: $periodName,
reportsPageUrl: $reportsPageUrl,
));
}
$logger->info(self::LOG_PREFIX . ' Dispatched not-generated notifications', [
'automatedReportUuid' => $this->reportUuid,
'recipientsCount' => count($recipients),
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
92
Previous Highlighted Error
Next Highlighted Error
[2026-04-24 10:24:09] local.INFO: [automated-reports] Started {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Checking conditions {"isMonday":false,"isWeekend":false,"isFirstDayOfMonth":false,"currentMonth":4,"isQuarterlyMonth":true} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Processing daily reports {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Found 1 daily reports to process {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Dispatching Generate Report job for report {"reportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","teamId":1,"frequency":"weekly","type":"ask_jiminny"} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Completed {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:11] local.INFO: [AskJiminnyReport:Generate] Started {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43"} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport] Fetched activity IDs for saved search {"saved_search_id":1977,"user_id":143,"activity_count":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Fetched activity IDs {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Not enough activities, skipped {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Dispatched not-generated notifications {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","recipientsCount":1} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: [Send Report Not Generated Mail] Email sent {"uuid":"dcb12181-9de1-4ef0-9d45-fb4ea6fd0778","email":"[EMAIL]"} {"correlation_id":"27ada0cc-4eb3-49c4-9115-19ece9e24576","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cdcdc062-b51a-4f27-9d4c-95ef48442391","trace_id":"e7701141-f61a-431e-8fac-697bccd67630"}
[2026-04-24 10:24:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cdcdc062-b51a-4f27-9d4c-95ef48442391","trace_id":"e7701141-f61a-431e-8fac-697bccd67630"}
[2026-04-24 10:24:35] local.NOTICE: Monitoring start {"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771","trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b"}
[2026-04-24 10:24:35] local.NOTICE: Monitoring end {"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771","trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b"}
[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"3529a427-eebb-4c61-9efb-be7b720d4dc3","trace_id":"63b1fd43-6c0e-44d1-a8d4-a7aaa509815d"}
[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"3529a427-eebb-4c61-9efb-be7b720d4dc3","trace_id":"63b1fd43-6c0e-44d1-a8d4-a7aaa509815d"}
[2026-04-24 10:24:53] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1","processed":0} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:25:01] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: Running conference:monitor:count command for activities in (2026-04-24 10:23:00, 2026-04-24 10:25:00] {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: [conference:monitor:count] No activities found in (2026-04-24 10:23:00, 2026-04-24 10:25:00] {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:09] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:aircall:check-and-renew","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1496,"provider":"aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1496,"provider":"aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.ERROR: [Aircall] Re-activating webhooks failed {"team_id":1,"reason":"{\"message\":\"Forbidden\"}"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:aircall:check-and-renew","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:18] local.INFO: [RetryFailedDownloads] Starting {"options":{"from":null,"to":null,"help":false,"silent":false,"quiet":false,"verbose":false,"version":false,"ansi":null,"no-interaction":false,"env":null}} {"correlation_id":"6b84611f-1af3-4e64-8c1c-c963ed5bcfa7","trace_id":"056c6533-0c1b-480c-93bb-4b7c788b5dc4"}
[2026-04-24 10:26:11] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:11] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:11] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:17] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d916f4b2-7912-4b9d-a733-794daab3d108","trace_id":"75dc6489-d592-4de8-968d-4f9e9c4a2a57"}
[2026-04-24 10:26:17] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d916f4b2-7912-4b9d-a733-794daab3d108","trace_id":"75dc6489-d592-4de8-968d-4f9e9c4a2a57"}
[2026-04-24 10:26:23] local.NOTICE: Monitoring start {"correlation_id":"9e9c1b30-7cf9-4944-9e1e-5a81e68a65df","trace_id":"000992c5-8e61-4246-a35f-09f1d832ddd1"}
[2026-04-24 10:26:23] local.NOTICE: Monitoring end {"correlation_id":"9e9c1b30-7cf9-4944-9e1e-5a81e68a65df","trace_id":"000992c5-8e61-4246-a35f-09f1d832ddd1"}
[2026-04-24 10:26:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"f8026235-b956-4aaf-9600-b7b93e3d9c74","trace_id":"759b3dbc-2e19-46cd-91c9-9065e063d32e"}
[2026-04-24 10:26:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"f8026235-b956-4aaf-9600-b7b93e3d9c74","trace_id":"759b3dbc-2e19-46cd-91c9-9065e063d32e"}
[2026-04-24 10:26:33] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1","processed":0} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:39] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: Running conference:monitor:count command for activities in (2026-04-24 10:24:00, 2026-04-24 10:26:00] {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: [conference:monitor:count] No activities found in (2026-04-24 10:24:00, 2026-04-24 10:26:00] {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:44] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"crm:sync-hubspot-objects","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cd5d0352-aec8-49be-8730-433061921ee7","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:44] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"crm:sync-hubspot-objects","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cd5d0352-aec8-49be-8730-433061921ee7","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Starting sync {"team":"b2b115eb-93ce-4d1b-929c-173757df8fba","usage":23540024,"real_usage":65011712,"pid":13878} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.WARNING: [HubSpot] Account not connected for user {"userId":"33e34a7a-1c02-4f04-87ac-22c3a385e6e3","account":{"Jiminny\\Models\\SocialAccount":{"id":306,"sociable_id":109,"provider_user_id":"11348452","expires":1701077403,"refresh_token_expires":null,"provider":"hubspot","state":"full-refresh","auth_scope":null,"retry_after":null,"created_at":"2020-09-01 16:59:04","updated_at":"2023-11-27 09:30:03"}}} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":109,"team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Sync finished {"team":"b2b115eb-93ce-4d1b-929c-173757df8fba","provider":"hubspot","status":"disconnected","duration_ms":38.25,"usage":23605688,"real_usage":65011712,"pid":13878,"reason":"Your HubSpot account has become disconnected. Please login to Jiminny to reconnect."} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Starting sync {"team":"abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4","usage":23563904,"real_usage":65011712,"pid":13878} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Token needs refreshing {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":1499,"provider":"hubspot","refreshToken":"96f94c623a404e02ebdbf07f1b75707bb6cdbf848cbf45d418baf608c41a8d86","state":"connected"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountObserver] Saving model {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountObserver] Access token was modified, encrypting {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [SocialAccountService] Token refreshed {"socialAccountId":1499,"provider":"hubspot","state":"connected"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [HubSpot] Syncing opportunities using strategy: lastModified {"team":2} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [Hubspot] Pagination completed {"team_id":2,"endpoint":"https://api.hubapi.com/crm/v3/objects/deals/search","total_requests":1,"total_records_fetched":0,"total_elapsed_seconds":0.6,"average_seconds_per_request":0.6} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [HubSpot] Synced opportunities {"team":2,"strategies":"lastModified","sync_count":0,"total":0,"last_synced_id":null,"duration_ms":635.09} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4","provider":"hubspot","status":"completed","duration_ms":2129.8,"usage":23740736,"real_usage":65011712,"pid":13878} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Starting sync {"team":"c6b9d6b0-b48d-4832-a68c-a57d60651888","usage":23715400,"real_usage":65011712,"pid":13878} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.WARNING: [HubSpot] Account not connected for user {"userId":"71e3aac5-fb66-47c5-a236-2d051ae3e319","account":null} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":256,"team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"c6b9d6b0-b48d-4832-a68c-a57d60651888","provider":"hubspot","status":"disconnected","duration_ms":51.31,"usage":23689016,"real_usage":65011712,"pid":13878,"reason":"Social account for HubSpot cannot be found. Please login to Jiminny to connect."} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Starting sync {"team":"b2d49a54-b645-4637-a7ae-a86cfce6e8e4","usage":23649656,"real_usage":65011712,"pid":13878} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.WARNING: [HubSpot] Account not connected for user {"userId":"2ac0447f-3c8c-4ce0-baeb-b63ddb76fa9b","account":null} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":130,"team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"b2d49a54-b645-4637-a7ae-a86cfce6e8e4","provider":"hubspot","status":"disconnected","duration_ms":18.47,"usage":23692568,"real_usage":65011712,"pid":13878,"reason":"Social account for HubSpot cannot be found. Please login to Jiminny to connect."} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:49] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:notify-not-logged","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"42acc0c5-3653-49d1-a44a-19758cc28092","trace_id":"c0b07036-9e27-4742-a009-69972c67bced"}
[2026-04-24 10:26:49] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:notify-not-logged","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"42acc0c5-3653-49d1-a44a-19758cc28092","trace_id":"c0b07036-9e27-4742-a009-69972c67bced"}
[2026-04-24 10:26:59] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:sync","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: [EmailSchedule] STARTING Inbox Sync {"host":"docker_lamp_1"} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: [EmailSchedule] FINISHED Inbox Sync {"host":"docker_lamp_1","events":2} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:sync","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync start {"inbox_id":59} {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Inbox service] Skipping METADATA SYNC for inbox 59 due to unauthorized access to the mailbox {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync complete {"inbox_id":59} {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync start {"inbox_id":212} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.WARNING: [Salesforce] Account not connected for user {"userId":"641f1acb-16b8-42d1-8726-df52979dad0e","account":{"Jiminny\\Models\\SocialAccount":{"id":1500,"sociable_id":143,"provider_user_id":"0052g000003frelAAA","expires":null,"refresh_token_expires":null,"provider":"salesforce","state":"full-refresh","auth_scope":"refresh_token web api","retry_after":null,"created_at":"2026-02-06 08:39:03","updated_at":"2026-04-24 06:38:47"}}} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"salesforce","crm_owner":143,"team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"salesforce","team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"salesforce","team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.ERROR: Failed to set service context for google: Your Salesforce account has become disconnected. Please login to Jiminny to reconnect. {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync complete {"inbox_id":212} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – RequestGenerateAskJiminnyReportJob.php
|
NULL
|
77706
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
1
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Contracts\Routing\UrlGenerator;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AskJiminnyReportActivityService;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateAskJiminnyReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
private const string LOG_PREFIX = '[AskJiminnyReport:Generate]';
private const int MIN_ACTIVITIES_COUNT = 1;
public int $tries = 2;
private ?AutomatedReportResult $reportResult = null;
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
AskJiminnyReportActivityService $activityService,
ProphetClient $prophetClient,
LoggerInterface $logger,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
): void {
$logger->info(self::LOG_PREFIX . ' Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport($this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$creator = $automatedReport->getCreator();
if ($creator === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, report creator not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$savedSearch = $automatedReport->getSavedSearch();
if ($savedSearch === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, saved search not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$prompt = $automatedReport->getAskAnythingPrompt();
if ($prompt === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, ask anything prompt not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$this->reportResult = $reportService->getOrCreateReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
$activityIds = $activityService->getActivityIdsForSavedSearch(
savedSearch: $savedSearch,
user: $creator,
frequency: $automatedReport->getFrequency(),
);
$activityCount = count($activityIds);
$logger->info(self::LOG_PREFIX . ' Fetched activity IDs', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
if ($activityCount < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
$this->dispatchNotGeneratedNotifications(
$automatedReport,
$reportService,
$urlGenerator,
$jobDispatcher,
$logger,
);
return;
}
$payload = $reportService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $this->reportResult,
activityIds: $activityIds,
);
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'payload' => $payload,
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => Carbon::now()->toDateTimeString(),
]);
$logger->info(self::LOG_PREFIX . ' Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::ASK_JIMINNY_REPORT,
requestArray: $payload,
);
$logger->info(self::LOG_PREFIX . ' Response received', [
'response' => $response->getContent(),
]);
} catch (Throwable $exception) {
$reason = $exception instanceof ProphetException
? AutomatedReportResult::REASON_PROPHET_API_ERROR
: AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(self::LOG_PREFIX . ' Error', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult?->getUuid(),
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if ($automatedReport->getType() !== AutomatedReportsService::TYPE_ASK_JIMINNY) {
$logger->warning(self::LOG_PREFIX . ' Skipped, not an ask_jiminny report', [
'automatedReportUuid' => $this->reportUuid,
'type' => $automatedReport->getType(),
]);
return false;
}
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
$this->reportResult?->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
private function dispatchNotGeneratedNotifications(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
LoggerInterface $logger,
): void {
if ($this->reportResult === null) {
return;
}
$recipients = $reportService->getValidRecipientUsers($automatedReport);
if (empty($recipients)) {
$logger->info(self::LOG_PREFIX . ' No recipients to notify about missing report', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$reportName = $automatedReport->getCustomName()
?: $reportService->getReportTypeName($this->reportResult);
$periodName = $reportService->getReportPeriodName($this->reportResult);
$reportsPageUrl = $urlGenerator->route('ai.reports.show');
foreach ($recipients as $recipient) {
$jobDispatcher->dispatch(new SendReportNotGeneratedMailJob(
reportUuid: $this->reportResult->getUuid(),
recipientEmail: $recipient['email'],
reportName: $reportName,
periodName: $periodName,
reportsPageUrl: $reportsPageUrl,
));
}
$logger->info(self::LOG_PREFIX . ' Dispatched not-generated notifications', [
'automatedReportUuid' => $this->reportUuid,
'recipientsCount' => count($recipients),
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
94
Previous Highlighted Error
Next Highlighted Error
[2026-04-24 10:24:09] local.INFO: [automated-reports] Started {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Checking conditions {"isMonday":false,"isWeekend":false,"isFirstDayOfMonth":false,"currentMonth":4,"isQuarterlyMonth":true} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Processing daily reports {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Found 1 daily reports to process {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Dispatching Generate Report job for report {"reportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","teamId":1,"frequency":"weekly","type":"ask_jiminny"} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Completed {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:11] local.INFO: [AskJiminnyReport:Generate] Started {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43"} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport] Fetched activity IDs for saved search {"saved_search_id":1977,"user_id":143,"activity_count":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Fetched activity IDs {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Not enough activities, skipped {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Dispatched not-generated notifications {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","recipientsCount":1} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: [Send Report Not Generated Mail] Email sent {"uuid":"dcb12181-9de1-4ef0-9d45-fb4ea6fd0778","email":"[EMAIL]"} {"correlation_id":"27ada0cc-4eb3-49c4-9115-19ece9e24576","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cdcdc062-b51a-4f27-9d4c-95ef48442391","trace_id":"e7701141-f61a-431e-8fac-697bccd67630"}
[2026-04-24 10:24:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cdcdc062-b51a-4f27-9d4c-95ef48442391","trace_id":"e7701141-f61a-431e-8fac-697bccd67630"}
[2026-04-24 10:24:35] local.NOTICE: Monitoring start {"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771","trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b"}
[2026-04-24 10:24:35] local.NOTICE: Monitoring end {"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771","trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b"}
[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"3529a427-eebb-4c61-9efb-be7b720d4dc3","trace_id":"63b1fd43-6c0e-44d1-a8d4-a7aaa509815d"}
[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"3529a427-eebb-4c61-9efb-be7b720d4dc3","trace_id":"63b1fd43-6c0e-44d1-a8d4-a7aaa509815d"}
[2026-04-24 10:24:53] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1","processed":0} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:25:01] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: Running conference:monitor:count command for activities in (2026-04-24 10:23:00, 2026-04-24 10:25:00] {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: [conference:monitor:count] No activities found in (2026-04-24 10:23:00, 2026-04-24 10:25:00] {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:09] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:aircall:check-and-renew","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1496,"provider":"aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1496,"provider":"aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.ERROR: [Aircall] Re-activating webhooks failed {"team_id":1,"reason":"{\"message\":\"Forbidden\"}"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:aircall:check-and-renew","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:18] local.INFO: [RetryFailedDownloads] Starting {"options":{"from":null,"to":null,"help":false,"silent":false,"quiet":false,"verbose":false,"version":false,"ansi":null,"no-interaction":false,"env":null}} {"correlation_id":"6b84611f-1af3-4e64-8c1c-c963ed5bcfa7","trace_id":"056c6533-0c1b-480c-93bb-4b7c788b5dc4"}
[2026-04-24 10:26:11] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:11] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:11] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:17] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d916f4b2-7912-4b9d-a733-794daab3d108","trace_id":"75dc6489-d592-4de8-968d-4f9e9c4a2a57"}
[2026-04-24 10:26:17] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d916f4b2-7912-4b9d-a733-794daab3d108","trace_id":"75dc6489-d592-4de8-968d-4f9e9c4a2a57"}
[2026-04-24 10:26:23] local.NOTICE: Monitoring start {"correlation_id":"9e9c1b30-7cf9-4944-9e1e-5a81e68a65df","trace_id":"000992c5-8e61-4246-a35f-09f1d832ddd1"}
[2026-04-24 10:26:23] local.NOTICE: Monitoring end {"correlation_id":"9e9c1b30-7cf9-4944-9e1e-5a81e68a65df","trace_id":"000992c5-8e61-4246-a35f-09f1d832ddd1"}
[2026-04-24 10:26:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"f8026235-b956-4aaf-9600-b7b93e3d9c74","trace_id":"759b3dbc-2e19-46cd-91c9-9065e063d32e"}
[2026-04-24 10:26:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"f8026235-b956-4aaf-9600-b7b93e3d9c74","trace_id":"759b3dbc-2e19-46cd-91c9-9065e063d32e"}
[2026-04-24 10:26:33] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1","processed":0} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:39] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: Running conference:monitor:count command for activities in (2026-04-24 10:24:00, 2026-04-24 10:26:00] {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: [conference:monitor:count] No activities found in (2026-04-24 10:24:00, 2026-04-24 10:26:00] {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:44] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"crm:sync-hubspot-objects","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cd5d0352-aec8-49be-8730-433061921ee7","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:44] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"crm:sync-hubspot-objects","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cd5d0352-aec8-49be-8730-433061921ee7","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Starting sync {"team":"b2b115eb-93ce-4d1b-929c-173757df8fba","usage":23540024,"real_usage":65011712,"pid":13878} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.WARNING: [HubSpot] Account not connected for user {"userId":"33e34a7a-1c02-4f04-87ac-22c3a385e6e3","account":{"Jiminny\\Models\\SocialAccount":{"id":306,"sociable_id":109,"provider_user_id":"11348452","expires":1701077403,"refresh_token_expires":null,"provider":"hubspot","state":"full-refresh","auth_scope":null,"retry_after":null,"created_at":"2020-09-01 16:59:04","updated_at":"2023-11-27 09:30:03"}}} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":109,"team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Sync finished {"team":"b2b115eb-93ce-4d1b-929c-173757df8fba","provider":"hubspot","status":"disconnected","duration_ms":38.25,"usage":23605688,"real_usage":65011712,"pid":13878,"reason":"Your HubSpot account has become disconnected. Please login to Jiminny to reconnect."} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Starting sync {"team":"abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4","usage":23563904,"real_usage":65011712,"pid":13878} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Token needs refreshing {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":1499,"provider":"hubspot","refreshToken":"96f94c623a404e02ebdbf07f1b75707bb6cdbf848cbf45d418baf608c41a8d86","state":"connected"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountObserver] Saving model {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountObserver] Access token was modified, encrypting {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [SocialAccountService] Token refreshed {"socialAccountId":1499,"provider":"hubspot","state":"connected"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [HubSpot] Syncing opportunities using strategy: lastModified {"team":2} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [Hubspot] Pagination completed {"team_id":2,"endpoint":"https://api.hubapi.com/crm/v3/objects/deals/search","total_requests":1,"total_records_fetched":0,"total_elapsed_seconds":0.6,"average_seconds_per_request":0.6} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [HubSpot] Synced opportunities {"team":2,"strategies":"lastModified","sync_count":0,"total":0,"last_synced_id":null,"duration_ms":635.09} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4","provider":"hubspot","status":"completed","duration_ms":2129.8,"usage":23740736,"real_usage":65011712,"pid":13878} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Starting sync {"team":"c6b9d6b0-b48d-4832-a68c-a57d60651888","usage":23715400,"real_usage":65011712,"pid":13878} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.WARNING: [HubSpot] Account not connected for user {"userId":"71e3aac5-fb66-47c5-a236-2d051ae3e319","account":null} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":256,"team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"c6b9d6b0-b48d-4832-a68c-a57d60651888","provider":"hubspot","status":"disconnected","duration_ms":51.31,"usage":23689016,"real_usage":65011712,"pid":13878,"reason":"Social account for HubSpot cannot be found. Please login to Jiminny to connect."} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Starting sync {"team":"b2d49a54-b645-4637-a7ae-a86cfce6e8e4","usage":23649656,"real_usage":65011712,"pid":13878} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.WARNING: [HubSpot] Account not connected for user {"userId":"2ac0447f-3c8c-4ce0-baeb-b63ddb76fa9b","account":null} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":130,"team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"b2d49a54-b645-4637-a7ae-a86cfce6e8e4","provider":"hubspot","status":"disconnected","duration_ms":18.47,"usage":23692568,"real_usage":65011712,"pid":13878,"reason":"Social account for HubSpot cannot be found. Please login to Jiminny to connect."} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:49] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:notify-not-logged","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"42acc0c5-3653-49d1-a44a-19758cc28092","trace_id":"c0b07036-9e27-4742-a009-69972c67bced"}
[2026-04-24 10:26:49] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:notify-not-logged","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"42acc0c5-3653-49d1-a44a-19758cc28092","trace_id":"c0b07036-9e27-4742-a009-69972c67bced"}
[2026-04-24 10:26:59] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:sync","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: [EmailSchedule] STARTING Inbox Sync {"host":"docker_lamp_1"} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: [EmailSchedule] FINISHED Inbox Sync {"host":"docker_lamp_1","events":2} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:sync","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync start {"inbox_id":59} {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Inbox service] Skipping METADATA SYNC for inbox 59 due to unauthorized access to the mailbox {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync complete {"inbox_id":59} {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync start {"inbox_id":212} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.WARNING: [Salesforce] Account not connected for user {"userId":"641f1acb-16b8-42d1-8726-df52979dad0e","account":{"Jiminny\\Models\\SocialAccount":{"id":1500,"sociable_id":143,"provider_user_id":"0052g000003frelAAA","expires":null,"refresh_token_expires":null,"provider":"salesforce","state":"full-refresh","auth_scope":"refresh_token web api","retry_after":null,"created_at":"2026-02-06 08:39:03","updated_at":"2026-04-24 06:38:47"}}} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"salesforce","crm_owner":143,"team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"salesforce","team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"salesforce","team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.ERROR: Failed to set service context for google: Your Salesforce account has become disconnected. Please login to Jiminny to reconnect. {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync complete {"inbox_id":212} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:28:04] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d1e33635-9ed1-4df1-86f1-8a9fbb4a9aad","trace_id":"c6abf4b5-1c8f-4bdf-a4ee-99e15a883fdc"}
[2026-04-24 10:28:04] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"d1e33635-9ed1-4df1-86f1-8a9fbb4a9aad","trace_id":"c6abf4b5-1c8f-4bdf-a4ee-99e15a883fdc"}
[2026-04-24 10:28:04] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d1e33635-9ed1-4df1-86f1-8a9fbb4a9aad","trace_id":"c6abf4b5-1c8f-4bdf-a4ee-99e15a883fdc"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – RequestGenerateAskJiminnyReportJob.php
|
NULL
|
77707
|
|
Project: faVsco.js, menu
#12011 on JY-20157-AJ-rep Project: faVsco.js, menu
#12011 on JY-20157-AJ-report-not-send-notification, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
1
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Contracts\Routing\UrlGenerator;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AskJiminnyReportActivityService;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateAskJiminnyReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
private const string LOG_PREFIX = '[AskJiminnyReport:Generate]';
private const int MIN_ACTIVITIES_COUNT = 1;
public int $tries = 2;
private ?AutomatedReportResult $reportResult = null;
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
AskJiminnyReportActivityService $activityService,
ProphetClient $prophetClient,
LoggerInterface $logger,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
): void {
$logger->info(self::LOG_PREFIX . ' Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport($this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$creator = $automatedReport->getCreator();
if ($creator === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, report creator not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$savedSearch = $automatedReport->getSavedSearch();
if ($savedSearch === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, saved search not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$prompt = $automatedReport->getAskAnythingPrompt();
if ($prompt === null) {
$logger->warning(self::LOG_PREFIX . ' Skipped, ask anything prompt not found', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$this->reportResult = $reportService->getOrCreateReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
$activityIds = $activityService->getActivityIdsForSavedSearch(
savedSearch: $savedSearch,
user: $creator,
frequency: $automatedReport->getFrequency(),
);
$activityCount = count($activityIds);
$logger->info(self::LOG_PREFIX . ' Fetched activity IDs', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
if ($activityCount < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'activityCount' => $activityCount,
]);
$this->dispatchNotGeneratedNotifications(
$automatedReport,
$reportService,
$urlGenerator,
$jobDispatcher,
$logger,
);
return;
}
$payload = $reportService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $this->reportResult,
activityIds: $activityIds,
);
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'payload' => $payload,
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => Carbon::now()->toDateTimeString(),
]);
$logger->info(self::LOG_PREFIX . ' Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::ASK_JIMINNY_REPORT,
requestArray: $payload,
);
$logger->info(self::LOG_PREFIX . ' Response received', [
'response' => $response->getContent(),
]);
} catch (Throwable $exception) {
$reason = $exception instanceof ProphetException
? AutomatedReportResult::REASON_PROPHET_API_ERROR
: AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(self::LOG_PREFIX . ' Error', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult?->getUuid(),
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if ($automatedReport->getType() !== AutomatedReportsService::TYPE_ASK_JIMINNY) {
$logger->warning(self::LOG_PREFIX . ' Skipped, not an ask_jiminny report', [
'automatedReportUuid' => $this->reportUuid,
'type' => $automatedReport->getType(),
]);
return false;
}
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
$this->reportResult?->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
private function dispatchNotGeneratedNotifications(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService,
UrlGenerator $urlGenerator,
JobDispatcherInterface $jobDispatcher,
LoggerInterface $logger,
): void {
if ($this->reportResult === null) {
return;
}
$recipients = $reportService->getValidRecipientUsers($automatedReport);
if (empty($recipients)) {
$logger->info(self::LOG_PREFIX . ' No recipients to notify about missing report', [
'automatedReportUuid' => $this->reportUuid,
]);
return;
}
$reportName = $automatedReport->getCustomName()
?: $reportService->getReportTypeName($this->reportResult);
$periodName = $reportService->getReportPeriodName($this->reportResult);
$reportsPageUrl = $urlGenerator->route('ai.reports.show');
foreach ($recipients as $recipient) {
$jobDispatcher->dispatch(new SendReportNotGeneratedMailJob(
reportUuid: $this->reportResult->getUuid(),
recipientEmail: $recipient['email'],
reportName: $reportName,
periodName: $periodName,
reportsPageUrl: $reportsPageUrl,
));
}
$logger->info(self::LOG_PREFIX . ' Dispatched not-generated notifications', [
'automatedReportUuid' => $this->reportUuid,
'recipientsCount' => count($recipients),
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
94
Previous Highlighted Error
Next Highlighted Error
[2026-04-24 10:24:09] local.INFO: [automated-reports] Started {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Checking conditions {"isMonday":false,"isWeekend":false,"isFirstDayOfMonth":false,"currentMonth":4,"isQuarterlyMonth":true} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:09] local.INFO: [automated-reports] Processing daily reports {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Found 1 daily reports to process {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Dispatching Generate Report job for report {"reportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","teamId":1,"frequency":"weekly","type":"ask_jiminny"} {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:10] local.INFO: [automated-reports] Completed {"correlation_id":"4ef6e232-88d2-4935-87d3-62ff95c3b2d5","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:11] local.INFO: [AskJiminnyReport:Generate] Started {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43"} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport] Fetched activity IDs for saved search {"saved_search_id":1977,"user_id":143,"activity_count":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Fetched activity IDs {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Not enough activities, skipped {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","activityCount":0} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:15] local.INFO: [AskJiminnyReport:Generate] Dispatched not-generated notifications {"automatedReportUuid":"4f6ca2b5-1993-48aa-99ad-b66f19f15d43","recipientsCount":1} {"correlation_id":"00ca4f00-8a80-4bdd-b401-804183825595","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: [Send Report Not Generated Mail] Email sent {"uuid":"dcb12181-9de1-4ef0-9d45-fb4ea6fd0778","email":"[EMAIL]"} {"correlation_id":"27ada0cc-4eb3-49c4-9115-19ece9e24576","trace_id":"6af075f9-940e-4789-b9b4-cb42649b2cf5"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:18] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d9261d90-9df8-4eb4-8dcc-54b29d8e39cb","trace_id":"5c4d23da-1340-4066-b354-55bfb79c0f4a"}
[2026-04-24 10:24:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cdcdc062-b51a-4f27-9d4c-95ef48442391","trace_id":"e7701141-f61a-431e-8fac-697bccd67630"}
[2026-04-24 10:24:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cdcdc062-b51a-4f27-9d4c-95ef48442391","trace_id":"e7701141-f61a-431e-8fac-697bccd67630"}
[2026-04-24 10:24:35] local.NOTICE: Monitoring start {"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771","trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b"}
[2026-04-24 10:24:35] local.NOTICE: Monitoring end {"correlation_id":"862cdf2d-46ca-4f7b-966b-79a5f2648771","trace_id":"961d76fe-7891-42e6-9d2e-c1dec32ec53b"}
[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"3529a427-eebb-4c61-9efb-be7b720d4dc3","trace_id":"63b1fd43-6c0e-44d1-a8d4-a7aaa509815d"}
[2026-04-24 10:24:45] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"3529a427-eebb-4c61-9efb-be7b720d4dc3","trace_id":"63b1fd43-6c0e-44d1-a8d4-a7aaa509815d"}
[2026-04-24 10:24:53] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1","processed":0} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:24:53] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"ebdfa028-0918-4dff-8eec-bafc1d997f9d","trace_id":"dd8b3479-50fa-4fc2-b3f9-581a6250baea"}
[2026-04-24 10:25:01] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: Running conference:monitor:count command for activities in (2026-04-24 10:23:00, 2026-04-24 10:25:00] {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: [conference:monitor:count] No activities found in (2026-04-24 10:23:00, 2026-04-24 10:25:00] {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:01] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"6ace59e3-341b-49e4-8e3f-36ea22423005","trace_id":"53678e7f-c854-4c0f-bc6d-c1ad8ba49696"}
[2026-04-24 10:25:09] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:aircall:check-and-renew","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1496,"provider":"aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1496,"provider":"aircall"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.ERROR: [Aircall] Re-activating webhooks failed {"team_id":1,"reason":"{\"message\":\"Forbidden\"}"} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:10] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:aircall:check-and-renew","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"11e8b9cf-a3f0-49b8-9066-e1f16e743f68","trace_id":"15598fe3-5b2f-49a6-84e3-48c9ab2a0d35"}
[2026-04-24 10:25:18] local.INFO: [RetryFailedDownloads] Starting {"options":{"from":null,"to":null,"help":false,"silent":false,"quiet":false,"verbose":false,"version":false,"ansi":null,"no-interaction":false,"env":null}} {"correlation_id":"6b84611f-1af3-4e64-8c1c-c963ed5bcfa7","trace_id":"056c6533-0c1b-480c-93bb-4b7c788b5dc4"}
[2026-04-24 10:26:11] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:11] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:11] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cef03617-e15a-498b-8751-efa9b8808ec9","trace_id":"793af5d4-ea14-4e7d-bf10-bdf65c4b41b9"}
[2026-04-24 10:26:17] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d916f4b2-7912-4b9d-a733-794daab3d108","trace_id":"75dc6489-d592-4de8-968d-4f9e9c4a2a57"}
[2026-04-24 10:26:17] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"dialers:monitor-activities","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d916f4b2-7912-4b9d-a733-794daab3d108","trace_id":"75dc6489-d592-4de8-968d-4f9e9c4a2a57"}
[2026-04-24 10:26:23] local.NOTICE: Monitoring start {"correlation_id":"9e9c1b30-7cf9-4944-9e1e-5a81e68a65df","trace_id":"000992c5-8e61-4246-a35f-09f1d832ddd1"}
[2026-04-24 10:26:23] local.NOTICE: Monitoring end {"correlation_id":"9e9c1b30-7cf9-4944-9e1e-5a81e68a65df","trace_id":"000992c5-8e61-4246-a35f-09f1d832ddd1"}
[2026-04-24 10:26:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"f8026235-b956-4aaf-9600-b7b93e3d9c74","trace_id":"759b3dbc-2e19-46cd-91c9-9065e063d32e"}
[2026-04-24 10:26:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:skip-lists:refresh","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"f8026235-b956-4aaf-9600-b7b93e3d9c74","trace_id":"759b3dbc-2e19-46cd-91c9-9065e063d32e"}
[2026-04-24 10:26:33] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: [EmailSchedule] STARTING batch process {"host":"docker_lamp_1"} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: [EmailSchedule] FINISHED batch process {"host":"docker_lamp_1","processed":0} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:33] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:batch:process","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"4669b9f7-c3b1-4147-b391-8f8314c25042","trace_id":"aff20f19-1f01-4fed-98d7-8ecafcae8c6e"}
[2026-04-24 10:26:39] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: Running conference:monitor:count command for activities in (2026-04-24 10:24:00, 2026-04-24 10:26:00] {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: [conference:monitor:count] No activities found in (2026-04-24 10:24:00, 2026-04-24 10:26:00] {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:39] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:count","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"23076007-fc54-415a-9900-2270769cd622","trace_id":"ffefe56f-2881-4273-9dd1-93b8efff8334"}
[2026-04-24 10:26:44] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"crm:sync-hubspot-objects","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"cd5d0352-aec8-49be-8730-433061921ee7","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:44] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"crm:sync-hubspot-objects","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"cd5d0352-aec8-49be-8730-433061921ee7","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Starting sync {"team":"b2b115eb-93ce-4d1b-929c-173757df8fba","usage":23540024,"real_usage":65011712,"pid":13878} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.WARNING: [HubSpot] Account not connected for user {"userId":"33e34a7a-1c02-4f04-87ac-22c3a385e6e3","account":{"Jiminny\\Models\\SocialAccount":{"id":306,"sociable_id":109,"provider_user_id":"11348452","expires":1701077403,"refresh_token_expires":null,"provider":"hubspot","state":"full-refresh","auth_scope":null,"retry_after":null,"created_at":"2020-09-01 16:59:04","updated_at":"2023-11-27 09:30:03"}}} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":109,"team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":29} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Sync finished {"team":"b2b115eb-93ce-4d1b-929c-173757df8fba","provider":"hubspot","status":"disconnected","duration_ms":38.25,"usage":23605688,"real_usage":65011712,"pid":13878,"reason":"Your HubSpot account has become disconnected. Please login to Jiminny to reconnect."} {"correlation_id":"f65fbc87-0ff6-49b0-bb0f-2b6edf95b900","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SyncHubspotObjects] Starting sync {"team":"abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4","usage":23563904,"real_usage":65011712,"pid":13878} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Token needs refreshing {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":1499,"provider":"hubspot","refreshToken":"96f94c623a404e02ebdbf07f1b75707bb6cdbf848cbf45d418baf608c41a8d86","state":"connected"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountObserver] Saving model {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:45] local.INFO: [SocialAccountObserver] Access token was modified, encrypting {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [SocialAccountService] Token refreshed {"socialAccountId":1499,"provider":"hubspot","state":"connected"} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:46] local.INFO: [HubSpot] Syncing opportunities using strategy: lastModified {"team":2} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [Hubspot] Pagination completed {"team_id":2,"endpoint":"https://api.hubapi.com/crm/v3/objects/deals/search","total_requests":1,"total_records_fetched":0,"total_elapsed_seconds":0.6,"average_seconds_per_request":0.6} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [HubSpot] Synced opportunities {"team":2,"strategies":"lastModified","sync_count":0,"total":0,"last_synced_id":null,"duration_ms":635.09} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4","provider":"hubspot","status":"completed","duration_ms":2129.8,"usage":23740736,"real_usage":65011712,"pid":13878} {"correlation_id":"281cf1ba-d862-4a45-aaf6-26a340bc2bfd","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Starting sync {"team":"c6b9d6b0-b48d-4832-a68c-a57d60651888","usage":23715400,"real_usage":65011712,"pid":13878} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.WARNING: [HubSpot] Account not connected for user {"userId":"71e3aac5-fb66-47c5-a236-2d051ae3e319","account":null} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":256,"team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":49} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"c6b9d6b0-b48d-4832-a68c-a57d60651888","provider":"hubspot","status":"disconnected","duration_ms":51.31,"usage":23689016,"real_usage":65011712,"pid":13878,"reason":"Social account for HubSpot cannot be found. Please login to Jiminny to connect."} {"correlation_id":"09262b7b-a2e2-41d5-b42b-25f31846d7a8","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Starting sync {"team":"b2d49a54-b645-4637-a7ae-a86cfce6e8e4","usage":23649656,"real_usage":65011712,"pid":13878} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.WARNING: [HubSpot] Account not connected for user {"userId":"2ac0447f-3c8c-4ce0-baeb-b63ddb76fa9b","account":null} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"hubspot","crm_owner":130,"team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"hubspot","team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"hubspot","team_id":42} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:47] local.INFO: [SyncHubspotObjects] Sync finished {"team":"b2d49a54-b645-4637-a7ae-a86cfce6e8e4","provider":"hubspot","status":"disconnected","duration_ms":18.47,"usage":23692568,"real_usage":65011712,"pid":13878,"reason":"Social account for HubSpot cannot be found. Please login to Jiminny to connect."} {"correlation_id":"70df60f3-aed6-4daa-a246-71fb82f49d68","trace_id":"594c907f-7401-4dd2-8ba1-59e5857f0d4c"}
[2026-04-24 10:26:49] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:notify-not-logged","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"42acc0c5-3653-49d1-a44a-19758cc28092","trace_id":"c0b07036-9e27-4742-a009-69972c67bced"}
[2026-04-24 10:26:49] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:notify-not-logged","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"42acc0c5-3653-49d1-a44a-19758cc28092","trace_id":"c0b07036-9e27-4742-a009-69972c67bced"}
[2026-04-24 10:26:59] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:sync","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: [EmailSchedule] STARTING Inbox Sync {"host":"docker_lamp_1"} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: [EmailSchedule] FINISHED Inbox Sync {"host":"docker_lamp_1","events":2} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:26:59] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:sync","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"55eab912-4003-455b-813c-4e3f8383acc8","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync start {"inbox_id":59} {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Inbox service] Skipping METADATA SYNC for inbox 59 due to unauthorized access to the mailbox {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync complete {"inbox_id":59} {"correlation_id":"be91dd09-c8e5-4e5d-a1e8-e1cc9979a32f","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync start {"inbox_id":212} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.WARNING: [Salesforce] Account not connected for user {"userId":"641f1acb-16b8-42d1-8726-df52979dad0e","account":{"Jiminny\\Models\\SocialAccount":{"id":1500,"sociable_id":143,"provider_user_id":"0052g000003frelAAA","expires":null,"refresh_token_expires":null,"provider":"salesforce","state":"full-refresh","auth_scope":"refresh_token web api","retry_after":null,"created_at":"2026-02-06 08:39:03","updated_at":"2026-04-24 06:38:47"}}} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] Integration owner is not connected, attempting team members {"crm_provider":"salesforce","crm_owner":143,"team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] No team members found with active crm connection {"crm_provider":"salesforce","team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [CrmOwnerResolver] No team member found with active crm connection {"crm_provider":"salesforce","team_id":1} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.ERROR: Failed to set service context for google: Your Salesforce account has become disconnected. Please login to Jiminny to reconnect. {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:27:00] local.INFO: [Sync Mailbox] Sync complete {"inbox_id":212} {"correlation_id":"da707eb9-3c1d-487e-8c92-1d018e0ca29d","trace_id":"cf803936-d9cd-4a75-b022-49f4b9a758da"}
[2026-04-24 10:28:04] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.723} {"correlation_id":"d1e33635-9ed1-4df1-86f1-8a9fbb4a9aad","trace_id":"c6abf4b5-1c8f-4bdf-a4ee-99e15a883fdc"}
[2026-04-24 10:28:04] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {"correlation_id":"d1e33635-9ed1-4df1-86f1-8a9fbb4a9aad","trace_id":"c6abf4b5-1c8f-4bdf-a4ee-99e15a883fdc"}
[2026-04-24 10:28:04] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"meeting-bot:schedule-bot","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.723,"memoryPeakAfterCommandInMB":99.723} {"correlation_id":"d1e33635-9ed1-4df1-86f1-8a9fbb4a9aad","trace_id":"c6abf4b5-1c8f-4bdf-a4ee-99e15a883fdc"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – RequestGenerateAskJiminnyReportJob.php
|
NULL
|
77708
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
GitHub
APP
Today at 10:22:18 AM
10:22 AM
2 new commits
2 new commits
pushed to
master
master
by
ilian-jiminny
ilian-jiminny
0eacef77
0eacef77
- JY-20735 Removed code switching part of Assembly Transcription prompt to prevent messages like (Speaking in Spanish), (Speaking in Japanese) in the transcript
3ac70b38
3ac70b38
- Merge pull request #12012 from jiminny/JY-20735-remove-code-switching-assembly-prompt
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
CircleCI
APP
Today at 10:44:50 AM
10:44 AM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/24/2026 07:44:50
Tag
:
View Job
View Job
New
GitHub
APP
Today at 11:20:20 AM
11:20 AM
5 new commits
5 new commits
pushed to
master
master
by
des-d
des-d
d36fb208
d36fb208
- fix(security): bump npm dependencies (alerts #427 #431 #433 #436 #438 #439 #441 #443 #444 #445 #446 #447 #448 #449 #450 #451 #453 #458 #459 #461 #462 #464 #465 #466 #467 #468 #469 #470 #471 #472 #473 #474)
70878f21
70878f21
- fix amazon player imports
62b2432c
62b2432c
- bump deps versions and update snapshots
5138acf1
5138acf1
- update vue-components
e183237c
e183237c
- Merge pull request #12005 from jiminny/secfix/npm-20260423
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
iTerm2Shell|EditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentspuktse.coa5-Kovt fks-MacBoorofrot, tmimmf l in /Users/lukas or its parents-zshAPP (-zsh)$0• Lukas/Stefka 121 - in 32 m100% <78Fri 24 Apr 13:28:23T81• *3screenpipe"• ₴4-zsh...
|
Slack
|
releases (Channel) - Jiminny Inc - Slack
|
NULL
|
77709
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
GitHub
APP
Today at 10:22:18 AM
10:22 AM
2 new commits
2 new commits
pushed to
master
master
by
ilian-jiminny
ilian-jiminny
0eacef77
0eacef77
- JY-20735 Removed code switching part of Assembly Transcription prompt to prevent messages like (Speaking in Spanish), (Speaking in Japanese) in the transcript
3ac70b38
3ac70b38
- Merge pull request #12012 from jiminny/JY-20735-remove-code-switching-assembly-prompt
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
CircleCI
APP
Today at 10:44:50 AM
10:44 AM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/24/2026 07:44:50
Tag
:
View Job
View Job
New
GitHub
APP
Today at 11:20:20 AM
11:20 AM
5 new commits
5 new commits
pushed to
master
master
by
des-d
des-d
d36fb208
d36fb208
- fix(security): bump npm dependencies (alerts #427 #431 #433 #436 #438 #439 #441 #443 #444 #445 #446 #447 #448 #449 #450 #451 #453 #458 #459 #461 #462 #464 #465 #466 #467 #468 #469 #470 #471 #472 #473 #474)
70878f21
70878f21
- fix amazon player imports
62b2432c
62b2432c
- bump deps versions and update snapshots
5138acf1
5138acf1
- update vue-components
e183237c
e183237c
- Merge pull request #12005 from jiminny/secfix/npm-20260423
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
CircleCI
APP
Today at 11:23:19 AM
11:23 AM
Deployment Successful! tada emoji
Deployment Successful!
rireroyrTavsco.sMISTOMbookmarksProtlles1OOIS#12011 on JY-20157-AJ-report-not-send-notificaWindowmelpProjectyC)AutomatedRenortsCommand.o©ActivityTranscriptionController.php©BaseController.phpCalendarController.php© ReportController.phpe SoftohoneWebhookController.ongAostdercontroller.ong® CommentContextinterface.phpc conterencesOpuinourcontroller.onpc controller.onp© ExportController.php© FrontendController.php© FrontendControllerTrait.phpGeocodingController.phpc) HealtnCheckcontroller.ono© LiveCoachController.phpC)MissinaTeamController.oho©MobileController.phpC)NotiticationController.ohv© NotificationProviderController.php@ PlavbackController.phv© PlaylistController.phpC) PusherController.oho© SlackController.php© SupportController.php© [EMAIL]© WelcomeController.phph MiddlewareRequestsResourcesResponses (7 CorinlizorcTransformers© Kernel.php( PlaylistTrackResourceTrait.php© ValidateCrmConnectionRequiredTrait.php> D Intearations0) Interactionsv D Jobs> DActivityAiAutomationAjReports> M AudioM AutomatedReports(C) RequestGenerateAsk.JiminnvReoort.Job.oho264265(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.oho© SendReportMailJob.php(c)SondRenortNotGeneratedMail.loh.nn> Mcalendarv MCrm> MNalatewlwelntana?walkelai?ttate©) ReportWithAttachment.phpActivityController.php© siC) AutomatedReportsService.phpclass RequestGener:private functivoid{if ($this->repor$recipients = $rdif (empty(Srecip:$logger->infiD);recurny$reportName?: SreportSeSper1odName = snsreportsPatoreach (reczouSloaden->infolseInociniontetl1);"Lukas sterka 121 • In 32m100% LzFri 24 Apr 13:28:23• - www.figma.com/design/ĨXcUe1y9mx5Fiz8KosLAUn/Project-Phoenix?node-id=8090-42046&t=tfNMbGpMtVADkX5y-0Project Phoenix - Figma0 JY-20489 | Optimize Nudges - PhNew TabAl reports promotion pages by nikc•JY-20738 add debug logs on AJ reJY-20157 add not enough activitiel8 JiminnyYour "Not enpough activities repoPSProlect PhoenixPagescovera. SearchOnDemand• Playback& Deal Insights# Team InsightsIN AI Reports© Org. SettingsLayers# Loss Report US# Exec Summary USE Exec Report Adoption - PD-190ou thr iasfocopt h e# Delete AJPanorama Prompl# Delete Saved search8 Dropdown# Emait for generated report#t Automated Reports# Automated Reports# Email for not generated report# A4- 18# A4- 16# 4# Export# Settings# Settings# Reporting_Fitters1# Reporting_Filters1# Create_Calle ListEmail for not generated reportComments100%v. Email for not generated reporModesLayoutWidth917pxHeight717pxColorsHex•0•FFFFExportSubject: il Your '[Report Name]' report wasn't generatedHi there,we n ecrast matehe dyourate yoter ferort Name) report for 115-30 Jun],Once new calls match your filters, your next scheduled report will begenerated automatically.Bul dan review or update your flers anytime in Jiminy Al Raports. BBest wishes,The Jiminny Team917 × 717• You can only view and comment on this file.Start editing X?...
|
Slack
|
releases (Channel) - Jiminny Inc - Slack
|
NULL
|
77710
|
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
JY-20489 | Optimize Nudges - Phase 2 by yalokin-jiminny · Pull Request #11997 · jiminny/app
JY-20489 | Optimize Nudges - Phase 2 by yalokin-jiminny · Pull Request #11997 · jiminny/app
New Tab
New Tab
AI reports promotion pages by nikolay-yankov · Pull Request #11998 · jiminny/app
AI reports promotion pages by nikolay-yankov · Pull Request #11998 · jiminny/app
JY-20738 add debug logs on AJ report UP tracking by LakyLak · Pull Request #12013 · jiminny/app
JY-20738 add debug logs on AJ report UP tracking by LakyLak · Pull Request #12013 · jiminny/app
JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app
JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app
Jiminny
Jiminny
Userpilot | Nudge-created
Userpilot | Nudge-created
Pipelines - jiminny/app
Pipelines - jiminny/app
Your 'Not enpough activities' report wasn't generated - [EMAIL] - Jiminny Mail
Your 'Not enpough activities' report wasn't generated - [EMAIL] - Jiminny Mail
Login | Salesforce
Login | Salesforce
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to:
Main Content
Main Content
Top Bar
Top Bar
Sidebar
Sidebar
Space navigation
Space navigation
Collapse sidebar [
Collapse sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
[EMAIL]
For you
For you
Recent
Recent
Starred
Starred
Apps
Apps
More actions for Apps
More actions for Apps
Spaces
Spaces
Create space
Create space
More actions for spaces
More actions for spaces
Recent
Jiminny (New)
Jiminny (New)
Jiminny (New)
Create board
Create board
More actions for Jiminny (New)
More actions for Jiminny (New)
Platform Team
Platform Team
Board actions
Board actions
SE Kanban
SE Kanban
Board actions
Board actions
Capture Team
Capture Team
Board actions...
|
Firefox
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira — Work...
|
NULL
|
77715
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
GitHub
APP
Today at 10:22:18 AM
10:22 AM
2 new commits
2 new commits
pushed to
master
master
by
ilian-jiminny
ilian-jiminny
0eacef77
0eacef77
- JY-20735 Removed code switching part of Assembly Transcription prompt to prevent messages like (Speaking in Spanish), (Speaking in Japanese) in the transcript
3ac70b38
iTerm2Shell|EditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 0-zshAPP (-zsh)<Lukas/Stefka 121 • in 31mA100% <78• *3screenpipe"• *4-zshFri 24 Apr 13:29:04T81*5...
|
Slack
|
releases (Channel) - Jiminny Inc - Slack
|
NULL
|
77717
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
GitHub
APP
Today at 10:22:18 AM
10:22 AM
2 new commits
2 new commits
pushed to
master
master
ActivitySlackcalVIewJiminny ...# platform-tickets# product launchesac random# releases# sofia-office# support# thank-yous# the_people_of jimi...6? Direct messages3 Aneliya Angelova, ...a Stefka Stoyanova@- Adelina Petroval•a Vasil Vasilev WStovan TomovIP. Galya RimitrovaNikolay Yankovf Petko Kashinski. Aneliva Angelova# Nikolav NikolovMario GeorgievSe: Todor StamatovR Gabriela Dureval#:Apps-T lira Cloud• Toast> C Interactionsv D Jobs> O Activity> M AiAutomationM AiReports>M AudioAutomatedRenortsRequestGenerateAsk.JiminnvReport.Job.oho(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.ohn(c)SondRenortMail.loh.nhn(c)SondRenortNotGeneratedMail.loh.nhnM Calendarv MCrm>MDeleteHistoryWindowHelpQ Describe what you are looking for# releases8 22• Messagesr Files• BookmarksView JobGitHub APP 11:20 AM5 new commits pushed to master by des-dA266h208 - fx(security): bump npmdependencies (alerts #427 #431 #433#436 #438 #439 #441 #443 #444 #445#446 #447 #448 #449 #450 #451 #453#458 #459 #461 #462 #464 #465 #466#467 #468 #469 $470 #471 #472 #473#474)70878f2 - hx amazon plaver imborts62b2432c - bump deps versions anduodate snapshots538acf - uodate vue-combonentse183237e - Merge pull request #12005from liminny/sechx/nom-20260423jiminny/app Added by GitHubCircleCl APP 11:23 AMDeployment Successful!Project:When.owronctone04/24/2004app08:23:18lag.View JobMessage #releases+ Aal40# Lukas/Stefka 121 - in 31 m100% LzFri 24 Apr 13:29:04• www.figma.com/design/iXcUe1y9mx5Fiz8KosLAUn/Project-Phoenix?node-id=8090-42046&t=nJK629FloDyaWRYR-1•••0Fiamag JY-20489 | Optimize Nudges - Pha)New Tab:• Al reports promotion pages bv nik.JY-20738 add debug logs on AJ re@ Jy-20157 add not enough activitie8) Jiminny« Userpilot Nudge-createdO Pipelines - jiminny/appM Your 'Not enpough activities' repoLoain I Salesforce— New Tab258259264265Sloaden->infolse'Inocinionteh1);Read static.fiama.cor...
|
Slack
|
releases (Channel) - Jiminny Inc - Slack
|
NULL
|
77718
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Galya Dimitrova
Yesterday at 1:58:17 PM
1:58 PM
ако не са пратени това обикновено означава че CS са си ги пуснали само до тях и не са ги пращали на клиента. Та в този случай ни е правилна проверката за страницата - защото ние проверяваме юзъра дали вижда репорти или не, а не дали има генерирани в базата
Lukas Kovalik
Yesterday at 2:06:39 PM
2:06 PM
ок, makes sense. За tracking ок ли е тогава същото условие да гледаме за поне един send report (kiosk или ask-jiminny).
Galya Dimitrova
Yesterday at 2:07:25 PM
2:07 PM
тракинга не е ли като се генерира репорта
Yesterday at 2:07:36 PM
2:07
тракинга в DD i Userpilot ли имаш предвид
Lukas Kovalik
Yesterday at 2:08:15 PM
2:08 PM
сори, имах предвид track-interest
Galya Dimitrova
Yesterday at 2:08:56 PM
2:08 PM
при клик на бутона само пращаме евент към планхат. Ники би трябвало да си хендълне дали показва бутона или не
Lukas Kovalik
Yesterday at 2:09:34 PM
2:09 PM
да за FE проверка
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
Yesterday at 2:09:43 PM
2:09 PM
искаш ли да се чуем
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
SlackDM•ActivitsJiminny ...# platform-tickets# product launchesic random# releases# sofia-office# support# thank-yous# the people of jimi...6? Direct messages3 Aneliva Angelova, ...8 Stefka Stoyanova@- Adelina Petroval•a Vasil Vasilev "Stovan Tomov% Galya DimitrovaNikolay Yankovf Petko KashinskiPº Aneliva Angelova# Nikolav NikolovMario GeorgievSe: Todor StamatovR Gabriela Dureval#:AppsS lira Cloud• ToastHistoryWindowHelp@ Describe what you are looking for, Galya Dimitrova• MessagesC FilesF UntitledLukas Kovalil Yesterdayда за гс проверкаGalya Dimitrova 2:09 PMискаш ли да се чуемLukas Kovalik 2:09 PMможе даA huddle happened 2:09 PMYou and Galya Dimitrova were in the huddle forGalya D.IF (Feature Flag ASK JIMINNY REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page• else - then show the new marketing pagefor AJ PanoramaELSE IF(Feature Flag AUTOMATED REPORTS is ON)AND user is ADMTN or Managenifuser-a has generated reports - then showthe pageelse - then show the new marketing pagefor Exec ReportsELSEIf user is user is ADMIN or Manager - thenshow the new marketing nage for Exec Renortsedited)Message Galya Dimitrova In a meeting • Goo..+ Aal> C Interactionsv D Jobs> O Activity.> M AiAutomationM AiReports> M AudioM AutomatedReportsRequestGenerateAsk.JliminnvRenort.Job.ohv€ RequestGenerateReport.Job.ohnC) SendRevort.lob.ohr(c)SondRenortMail.loh.nhn(c)SondRenortNotGeneratedMail.loh.nn> Mcalendarv MCrm>MDeleteSloaden.>infolseInocinionteh1);= www.figma.com/deЭmx5Fiz8KosLAUn/Project-Phoenix?node-id=8090-42046&t=nJK629FloDyaWRYR-1"Lukas sterka 121 • In 31m100% LzFri 24 Apr 13:29:06Fiamag JY-20489 | Optimize Nudges - Pha)New Tab:• Al reports promotion pages bv nik.JY-20738 add debug logs on AJ re@ Jy-20157 add not enough activitie8) Jiminnyu Userpilot Nudge-createdO Pipelines - jiminny/appM Your 'Not enpough activities' repoLoain I Salesforce+ New TatRead static.fiama.cor...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77719
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Galya Dimitrova
Yesterday at 1:58:17 PM
1:58 PM
ако не са пратени това обикновено означава че CS са си ги пуснали само до тях и не са ги пращали на клиента. Та в този случай ни е правилна проверката за страницата - защото ние проверяваме юзъра дали вижда репорти или не, а не дали има генерирани в базата
Lukas Kovalik
Yesterday at 2:06:39 PM
2:06 PM
ок, makes sense. За tracking ок ли е тогава същото условие да гледаме за поне един send report (kiosk или ask-jiminny).
Galya Dimitrova
Yesterday at 2:07:25 PM
2:07 PM
тракинга не е ли като се генерира репорта
Yesterday at 2:07:36 PM
2:07
тракинга в DD i Userpilot ли имаш предвид
Lukas Kovalik
Yesterday at 2:08:15 PM
2:08 PM
сори, имах предвид track-interest
Galya Dimitrova
Yesterday at 2:08:56 PM
2:08 PM
при клик на бутона само пращаме евент към планхат. Ники би трябвало да си хендълне дали показва бутона или не
Lukas Kovalik
Yesterday at 2:09:34 PM
2:09 PM
да за FE проверка
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
Yesterday at 2:09:43 PM
2:09 PM
искаш ли да се чуем
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Yesterday at 2:09:51 PM
2:09 PM
може да
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
A huddle happened
Yesterday at 2:09:57 PM
2:09 PM
You and
Galya Dimitrova
were in the huddle for
5m
.
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
Yesterday at 2:10:25 PM
2:10 PM
IF (Feature Flag
ASK_JIMINNY_REPORTS
is
ON
AND
user is ADMIN or Manager)
IF user has reports - then show the page
else - then show the new marketing page for AJ Panorama
ELSE IF
(Feature Flag
AUTOMATED_REPORTS
is
ON
)
AND
user is ADMIN or Manager
if user-a has generated reports - then show the page
iTerm2Shell|EditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 0-zshAPP (-zsh)<Lukas/Stefka 121 • in 31mA100% <78Fri 24 Apr 13:29:09T81• *3screenpipe"• *4-zsh...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77721
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
SlackcalVIewHomeActivityJiminny ...# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...6? Direct messages3 Aneliya Angelova, ...8 Stefka Stoyanova@- Adelina Petroval®a Vasil Vasilev ™Stovan Tomov% Galya DimitrovaNikolay Yankovf Petko KashinskiAº Aneliva Angelova# Nikolav NikolovMario GeorgievSe: Todor StamatovR Gabriela Dureval#:AppsS Jira Cloud• ToastmistonWindowHelr@ Describe what you are looking for, Galya Dimitrova L• Messagese FilesF UntitledLukas Kovalll Yesterdayда за гс проверкаGalya Dimitrova 2:09 PMискаш ли да се чуемLukas Kovalik 2:09 PMможе даA huddle happened 2:09 PMYou and Galya Dimitrova were in the huddle forGalya Dimitrova 2:10 PMIF (Feature Flag ASK JIMINNY REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page• else - then show the new marketing pagefor AJ PanoramaELSE IF(Feature Flag AUTOMATED REPORTS is ON)AND user 1S ADVIN or Managenifuser-a has generated reports - then showthe vage• else - then show the new marketng oagefor exec RevortsELSEIt user is user is ADMIN or Manager - thenshow the new marketing nage for Exec Renortsledited)Message Galya Dimitrova In a meeting • Goo.+ Aa €> C Interactionsv D Jobs> O Activity.> M AiAutomationM AiReports>M AudioMAutomatedReports(C) RequestGenerateAsk.JiminnvRenort.Job.ohv(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.oho(c)SondRenortMail.loh.nhn(c)SondPenortNotGeneratedMail.loh.nhnM Calendarv MCrm>MDeleteSloaden->infolse'Inocinionteh1);265= www.figma.com/deЭmx5Fiz8KosLAUn/Project-Phoenix?node-id=8090-42046&t=nJK629FloDyaWRYR-1"Lukas sterka 121 • In 31m100% LzFri 24 Apr 13:29:09Fiamag JY-20489 | Optimize Nudges - Pha)New Tab:• Al reports promotion pages bv nik.JY-20738 add debug logs on AJ re@ Jy-20157 add not enough activitie8) Jiminnyu Userpilot Nudge-createdO Pipelines - jiminny/appM Your 'Not enpough activities' repoLoain I Salesforce+ New TatRead static.fiama.cor...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77722
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Galya Dimitrova
Yesterday at 1:58:17 PM
1:58 PM
ако не са пратени това обикновено означава че CS са си ги пуснали само до тях и не са ги пращали на клиента. Та в този случай ни е правилна проверката за страницата - защото ние проверяваме юзъра дали вижда репорти или не, а не дали има генерирани в базата
Lukas Kovalik
Yesterday at 2:06:39 PM
2:06 PM
ок, makes sense. За tracking ок ли е тогава същото условие да гледаме за поне един send report (kiosk или ask-jiminny).
Galya Dimitrova
Yesterday at 2:07:25 PM
2:07 PM
тракинга не е ли като се генерира репорта
Yesterday at 2:07:36 PM
2:07
тракинга в DD i Userpilot ли имаш предвид
Lukas Kovalik
Yesterday at 2:08:15 PM
2:08 PM
сори, имах предвид track-interest
Galya Dimitrova
Yesterday at 2:08:56 PM
2:08 PM
при клик на бутона само пращаме евент към планхат. Ники би трябвало да си хендълне дали показва бутона или не
Lukas Kovalik
Yesterday at 2:09:34 PM
2:09 PM
да за FE проверка
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
Yesterday at 2:09:43 PM
2:09 PM
искаш ли да се чуем
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Yesterday at 2:09:51 PM
2:09 PM
може да
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
A huddle happened
Yesterday at 2:09:57 PM
2:09 PM
You and
Galya Dimitrova
were in the huddle for
5m
.
React with white_check_mark
React with eyes
‹<0 0 # Lukas/Stefka 121 - in 31m A100% C/3 Fri 24 Apr 13:29:12••• Ш• • www.figma.come FilesF UntitledActivityMoreSlackVIewMistonJiminny ... ~# platform-tickets• Messages# product launches# random# releases# sofia-office# support# thank-yousможе да# the_people_of jimi...6? Direct messages3 Aneliya Angelova, ...8 Stefka Stoyanova@- Adelina Petroval®a Vasil Vasilev ™Stovan Tomov% Galya DimitrovaNikolay Yankovf Petko KashinskiPº Aneliva Angelova# Nikolav NikolovMario GeorgievSe: Todor StamatovR Gabriela Dureval#:AppsJira Cloud• Toast> C Interactionsv D Jobs> O Activity> M AiAutomationM AiReports>M AudioMAutomatedReports•RequestGenerateAsk.JiminnvReport.Job.oho(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.ohn(c)SondRenortMail.loh.nhn(c)SondRenortNotGeneratedMail.loh.nhnM Calendarv MCrm>MDeleteHelphuddle foOPTS iche nacoina nageELSE IFTC ic ONthan chaythe page•else - then show the new marketing vagefor exec RevortsELSEIt user is user is ADMIN or Manager - thenishow the new marketing nage for Exec Renortsledited)zdrastillProiect Phoenix - Fiamag JY-20489 | Optimize Nudges - Pha)New Tab:• Al reports promotion pages bv nik.JY-20738 add debug logs on AJ re@ Jy-20157 add not enough activitie8) Jiminny« Userpilot Nudge-createdO Pipelines - jiminny/appM Your 'Not enpough activities' repoLoain I Salesforce— New TabShift + Return to add a new ling258259264265Sloaden.>infolseInocinionteh1);...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77723
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Galya Dimitrova
Yesterday at 1:58:17 PM
1:58 PM
ако не са пратени това обикновено означава че CS са си ги пуснали само до тях и не са ги пращали на клиента. Та в този случай ни е правилна проверката за страницата - защото ние проверяваме юзъра дали вижда репорти или не, а не дали има генерирани в базата
Lukas Kovalik
Yesterday at 2:06:39 PM
2:06 PM
ок, makes sense. За tracking ок ли е тогава същото условие да гледаме за поне един send report (kiosk или ask-jiminny).
Galya Dimitrova
Yesterday at 2:07:25 PM
2:07 PM
тракинга не е ли като се генерира репорта
Yesterday at 2:07:36 PM
2:07
тракинга в DD i Userpilot ли имаш предвид
Lukas Kovalik
Yesterday at 2:08:15 PM
2:08 PM
сори, имах предвид track-interest
Galya Dimitrova
Yesterday at 2:08:56 PM
2:08 PM
при клик на бутона само пращаме евент към планхат. Ники би трябвало да си хендълне дали показва бутона или не
Lukas Kovalik
Yesterday at 2:09:34 PM
2:09 PM
да за FE проверка
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
Yesterday at 2:09:43 PM
2:09 PM
искаш ли да се чуем
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Yesterday at 2:09:51 PM
2:09 PM
може да
React with white_check_mark
React with eyes
React with raised_hands
SlackcalVIew40"Lukas sterka 121• In 31m100% 2rl 24 Aor 13.29.:10• • www.figma.com/d000-120468t-wTrWa50SONV7aV6-0IHomeActivityJiminny ... ~# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...6? Direct messagesB Aneliya Angelova, ...@. Stefka StoyanovaR. Adelina PetrovaNo Vasil Vasilev *R. Stoyan Tomov% Galya Dimitrova ER.. Nikolay Yankov&. Petko KashinskiPº. Aneliya AngelovaP. Nikolay Nikolov Eii. Mario GeorgievS: Todor StamatovR Gabriela Dureval#:AppsG Jira Cloud® ToastMistonWindowHelp@ Describe what you are looking for, Galya Dimitrova E• Messagese Files@ UntitledLukas Kovalll Yesterdayда за гс проверкаGalya Dimitrova # 2:09 PMискаш ли да се чуемLukas Kovalik 2:09 PMможе даA huddle happened 2:09 PMYou and Galya Dimitrova were in the huddle forGalya Dimitrova l 2:10 PMIF (Feature Flag ASK_JIMINNY_REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page• else - then show the new marketing pagefor AJ PanoramaELSE IF(Feature Flag AUTOMATED_REPORTS is ON)AND user 1s AlVIN or Managen• if user-a has generated reports - then showthe page•else - then show the new marketing vagefor exec RevortsELSEIt user is user is ADMIN or Manager - thenishow the new marketing page for Exec Reportsledited)Message Galya Dimitrova In a meeting • Goo...Aa e3 Project Phoenix - Figmag JY-20489 | Optimize Nudges - Pha)New Tab:Al reports promotion pages by nikcJY-20738 add debug logs on AJ re@ Jy-20157 add not enough activitie8 Jiminny« Userpilot Nudge-createdO Pipelines - jiminny/appM Your 'Not enpough activities' reporLoain I Salesforce— New Tab> D Interactions~ DJobs> DActivity> D AiAutomationAjReports>M AudioMAutomatedReports(C) RequestGenerateAsk.JiminnvReport.Job.oho(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.ohn(c)SondRenortMail.loh.nhn(c)SondPenortNotGeneratedMail.loh.nhn>M Calendarv MCrm> MNalate264265Sloaden->infolse'Inocinionteh1);...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77724
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Galya Dimitrova
Yesterday at 1:58:17 PM
1:58 PM
ако не са пратени това обикновено означава че CS са си ги пуснали само до тях и не са ги пращали на клиента. Та в този случай ни е правилна проверката за страницата - защото ние проверяваме юзъра дали вижда репорти или не, а не дали има генерирани в базата
Lukas Kovalik
Yesterday at 2:06:39 PM
2:06 PM
ок, makes sense. За tracking ок ли е тогава същото условие да гледаме за поне един send report (kiosk или ask-jiminny).
Galya Dimitrova
Yesterday at 2:07:25 PM
2:07 PM
тракинга не е ли като се генерира репорта
Yesterday at 2:07:36 PM
2:07
тракинга в DD i Userpilot ли имаш предвид
Lukas Kovalik
Yesterday at 2:08:15 PM
2:08 PM
сори, имах предвид track-interest
Galya Dimitrova
Yesterday at 2:08:56 PM
2:08 PM
при клик на бутона само пращаме евент към планхат. Ники би трябвало да си хендълне дали показва бутона или не
Lukas Kovalik
Yesterday at 2:09:34 PM
2:09 PM
да за FE проверка
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
Yesterday at 2:09:43 PM
2:09 PM
искаш ли да се чуем
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Yesterday at 2:09:51 PM
2:09 PM
може да
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
A huddle happened
Yesterday at 2:09:57 PM
2:09 PM
You and
Galya Dimitrova
were in the huddle for
5m
.
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
Yesterday at 2:10:25 PM
2:10 PM
IF (Feature Flag
ASK_JIMINNY_REPORTS
is
ON
AND
user is ADMIN or Manager)
IF user has reports - then show the page
else - then show the new marketing page for AJ Panorama
ELSE IF
(Feature Flag
AUTOMATED_REPORTS
is
ON
)
AND
user is ADMIN or Manager
iTerm2Shell|EditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 0-zshAPP (-zsh)<Lukas/Stefka 121 • in 31mБГ100% <78• *3screenpipe"• *4-zshFri 24 Apr 13:29:24T81*5...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77725
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Galya Dimitrova
Yesterday at 1:58:17 PM
1:58 PM
ако не са пратени това обикновено означава че CS са си ги пуснали само до тях и не са ги пращали на клиента. Та в този случай ни е правилна проверката за страницата - защото ние проверяваме юзъра дали вижда репорти или не, а не дали има генерирани в базата
Lukas Kovalik
Yesterday at 2:06:39 PM
2:06 PM
ок, makes sense. За tracking ок ли е тогава същото условие да гледаме за поне един send report (kiosk или ask-jiminny).
Galya Dimitrova
Yesterday at 2:07:25 PM
2:07 PM
тракинга не е ли като се генерира репорта
Yesterday at 2:07:36 PM
2:07
тракинга в DD i Userpilot ли имаш предвид
Lukas Kovalik
Yesterday at 2:08:15 PM
HomeDMSActivitySlackcalMistonWindowHelpJiminny... ~# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Messagesможе да6? Direct messagesB Aneliya Angelova,...@. Stefka StoyanovaR. Adelina PetrovaNo Vasil Vasilev *R. Stoyan TomovP. Galya DimitrovaR.. Nikolay Yankov&. Petko KashinskiPº. Aneliya Angelova. Nikolay Nikolovii. Mario GeorgievS: Todor Stamatov(F. Gabriela Dureva#: Appsf Jira Cloud® Toast> D Interactions~ DJobs> DActivity> D AiAutomationAjReports> M AudioM AutomatedReportsC RequestGenerateAsk.JiminnvReport.Job.oho(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.ohn(c)SondRenortMail.loh.nhn(c)SondRenortNotGeneratedMail.loh.nhnCalendarv MCrm> MNalate@ Untitled› PM7 PМa were in the huddle forMINNY_REPORTS isor Manager)then show the pagee new marketing pageELSE IF(Feature Flag AUTOMATED_REPORTS is ON)AND user is ADMTN or Managen•if user-a has generated reports - then showthe pageelse - then show the new marketing pagefor Exec ReportsELSEIf user is user is ADMIN or Manager - thenshow the new marketing page for Exec Reportsledited)здрасти Галя, мндут брьз выпроd+ Aa ®Shift + Return to add a new ling258259260261263Sloaden.>infolse'recipientsci1);2653 Project Phoenix - Figmag JY-20489 | Optimize Nudges - Phae New TabAl reports promotion pages by nikc(. JY-20738 add debug logs on AJ re@ Jy-20157 add not enough activitie8 Jiminnyu Userpilot Nudge-createdPipelines - jiminny/appM Your 'Not enpough activities' reporLoain I Salesforce+ New Tab<40 0 1 Lukas/Stefka 121 - in 31m• = www.figma.com/design/XcUe1y9mx5Fiz8KosLAUn/Project-Phoenix?node-id=8090-42046&t=wTrtWa5QSONVZgY6-0100% C4 8 Fri 24 Apr 13:29:24CommentsD . Share100%v.Email for not generated reportProject PhoenixOnDemandPlayback& Deal Insights# Team Insights© Org. Settings# Loss Report US# Exec Summary USE Exec Report Adoption - PD-190TA Don't show the page except if theE AA# Delete AJPanorama Prompt# Delete Saved searchDropdown# Emait for generated report# Automated Reports# Automated Reports# Email for not generated reportEmail for not generated reportSubject: il Your '[Report Name]' report wasn't generatedHi there,Weno crals mateted yourase ectuer fiersrt Name)' report for (15-30 Jun).• Once new calls match your filters, your next scheduled report will begenerated automatically.You can review or update your filters anytime in Jiminny → Al Reports.Best wishes,The Jiminny TeamWidthHeight917px717pxHex•FFFF• Exprt disabledCamonno with odft onnoce in thi.file has disabled exporting,9170J717?...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77726
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
iTerm2Shell|EditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 0-zshAPP (-zsh)<Lukas/Stefka 121 • in 31mБГ100% <78• *3screenpipe"• *4-zshFri 24 Apr 13:29:28T81*5...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77727
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Galya Dimitrova
Nikolay Yankov
<40 0 1 Lukas/Stefka 121 • in 31m100% L28 Fri 24 Apr 13:29:28• = www.figma.com/design/XcUe1y9Эmx5Fiz8KosLAUn/Project-Phoenix?node-id=8090-42046&t=wTrtWa5QSONVZgY6-0|HomeDMSActivitySlackJiminny... ~# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...6? Direct messagesB Aneliya Angelova,...@. Stefka StoyanovaR. Adelina PetrovaNo Vasil Vasilev *R. Stoyan TomovP. Galya DimitrovaR.. Nikolay Yankov&. Petko KashinskiF. Aneliya AngelovaP. Nikolay Nikolov Eii. Mario GeorgievS: Todor Stamatov(F. Gabriela Dureva#: Appsf Jira Cloud® Toast> D Interactions~ DJobs> DActivity> D AiAutomationAjReports> D AudioM AutomatedReportsRequestGenerateAsk.JliminnvRenort.Job.ohv© RequestGenerateReportJob.phpC) SendRevort.lob.ohr(c)SondRenortMail.loh.nhn(c)SondRenortNotGeneratedMail.loh.nnv MCrm> MNalateMistonWindowHelp@ Describe what you are looking forGalya Dimitrova• Messages© Files@ UntitledLukas Kovalil Yesterdayда за гс проверкаGalya Dimitrova # 2:09 PMискаш ли да се чуемLukas Kovalik 2:09 PMможе даA huddle happened 2:09 PMYou and Galya Dimitrova were in the huddle forGalya Dimitrova l 2:10 PMIF (Feature Flag ASK_JIMINNY_REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page•else - then show the new marketing pagefor AJ PanoramaELSE IF(Feature Flag AUTOMATED_REPORTS is ON)AND user is ADMTN or Managen• if user-a has generated reports - then showthe pageelse - then show the new marketing pagefor Exec ReportsELSEIf user is user is ADMIN or Manager - thenshow the new marketing page for Exec Reportsledited)Send nowздрасти Галя, много брьз въпрос+ AaShift + Return to add a new ling2582592611242263265Sloaden.>infolse'recipientsci1);F Project Phoenix - Figmag JY-20489 | Optimize Nudges - Phae New TabAl reports promotion pages by nikc(. JY-20738 add debug logs on AJ re@ Jy-20157 add not enough activitie8 Jiminnyu Userpilot Nudge-createdPipelines - jiminny/appM Your 'Not enpough activities' reporLoain I Salesforce+ New TabProject PhoenixPagesOnDemandPlayback& Deal Insights# Team InsightsIN AI Reports© Org. SettingsLayers# Loss Report US# Exec Summary USE Exec Report Adoption - PD-190TA Don't show the page except if theE AA# Delete AJPanorama Prompt# Delete Saved search8 Dropdown# Emait for generated report# Automated Reports# Automated Reports# Email for not generated report# A4-18# A4 -16# 4# Export# Settings# Settings# Reporting. Filters1# Reporting.Filterst# Create_Calle ListEmail for not generated reportSubject: il Your '[Report Name]' report wasn't generatedHi there,We no cat matete youraseyouer ferrt amel) report for 15-30 Jun),• Once new calls match your filters, your next scheduled report will begenerated automatically.You can review or update your filters anytime in Jiminny → Al Reports.Best wishes,The Jiminny TeamComments Properties100%v. Email for not generated reporModesLayoutWidthHeight917px717pxColors•FFFFHex•0Export9170J717You can only view and comment on this file.Start editingx?...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77728
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
iTerm2Shell|EditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 0-zshAPP (-zsh)<Lukas/Stefka 121 • in 31mБГ100% <78• *3screenpipe"• *4-zshFri 24 Apr 13:29:30T81*5...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77729
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
HomeActivityMoreSlackcalVIewJiminny... ~# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...6? Direct messagesD. Galya Dimitrova E3 Aneliya Angelova, ...A. Stefka StoyanovaR. Adelina PetrovaBo Vasil Vasilev "T8. Stoyan TomovR.. Nikolay Yankov&. Petko KashinskiP. Aneliya Angelova. Nikolay Nikolovii. Mario GeorgievS: Todor StamatovR Gabriela Dureval#:Apps• Jira Cloud® Toast> D Interactions~ DJobs> DActivity> D AiAutomationAjReports>M AudioMAutomatedReportsRequestGenerateAsk.JliminnvRenort.Job.ohv(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.ohn(c)SondRenortMail.loh.nhn(c)SondPenortNotGeneratedMail.loh.nhnM Calendarv MCrm> MNalateMistonWindowHelp@ Describe what you are looking for% Galya Dimitrova• MessagesUe FilesUntitledLukas Kovalilможе даA huddle happened 2:09 PMYou and Galya Dimitrova were in the huddle forGalya Dimitrova 2:10 PMIF (Feature Flag ASK_JIMINNY_REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page• else - then show the new marketing pagefor AJ PanoramaFI CE IS(Feature Flag AUTOMATED_REPORTS is ON)AND user 1S ADMIN or Manager• if user-a has generated reports - then showthe pageelse - then show the new marketing pageTor exec kedorsELSEIf user is user is ADMIN or Manager - thenshow the new marketing vage for -xec Revorts(edited)Lukas Kovalnk 1:29 PMзлрасти аля. много 00ъз выпоосMessage Galfa Dimitrova In a meeting • Goo...+ Aal3 Project Phoenix - Figmag JY-20489 | Optimize Nudges - Pha)New Tab:Al reports promotion pages by nikcJY-20738 add debug logs on AJ re@ Jy-20157 add not enough activitie8 Jiminny« Userpilot Nudge-createdPipelines - jiminny/appM Your 'Not enpough activities' reporLoain I Salesforce— New Tab264265Sloaden->infolse''recipientsci1);<40 0 f Lukas/Stefka 121 • in 31m• = www.figma.com/design/XcUe1y9Эmx5Fiz8KosLAUn/Project-Phoenix?node-id=8090-42046&t=wTrtWa5QSONVZgY6-0|Project PhoenixPagesOnDemand• Playback& Deal Insights# Team InsightsIN AI Reports© Org. SettingsLayers# Loss Report US# Exec Summary USE Exec Report Adoption - PD-190TA Don't show the page except if theE AA# Delete AJPanorama PromptIt Delete Saved search8 Dropdown# Emait for generated report# Automated Reports# Automated Reports# Email for not generated report# A4-18# A4 -16# 4# Export# Settings# Settings# Reporting_Filterst# Reporting.Filterst# Create_Calle List100% Lz8 Fri 24 Apr 13:29:31Comments Properties100%v. Email for not generated reporModesLayoutWidthHeight917px717pxColors•FFFFHex•0ExportEmail for not generated reportSubject: il Your '[Report Name]' report wasn't generatedHi there,We no cat matete youraseyouer ferrt amel) report for 15-30 Jun),• Once new calls match your filters, your next scheduled report will begenerated automatically.You can review or update your filters anytime in Jiminny → Al Reports.Best wishes,The Jiminny Team9170J717You can only view and comment on this file.Start editingx?...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77730
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Galya Dimitrova
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Lukas Kovalik
Yesterday at 2:06:39 PM
2:06 PM
ок, makes sense. За tracking ок ли е тогава същото условие да гледаме за поне един send report (kiosk или ask-jiminny).
Galya Dimitrova
Yesterday at 2:07:25 PM
2:07 PM
тракинга не е ли като се генерира репорта
Yesterday at 2:07:36 PM
2:07
тракинга в DD i Userpilot ли имаш предвид
Lukas Kovalik
Yesterday at 2:08:15 PM
2:08 PM
сори, имах предвид track-interest
Galya Dimitrova
Yesterday at 2:08:56 PM
2:08 PM
при клик на бутона само пращаме евент към планхат. Ники би трябвало да си хендълне дали показва бутона или не
Lukas Kovalik
Yesterday at 2:09:34 PM
2:09 PM
да за FE проверка
Galya Dimitrova
Yesterday at 2:09:43 PM
2:09 PM
искаш ли да се чуем
Lukas Kovalik
Yesterday at 2:09:51 PM
2:09 PM
може да
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
A huddle happened
Yesterday at 2:09:57 PM
2:09 PM
You and
Galya Dimitrova
were in the huddle for
5m
.
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
Yesterday at 2:10:25 PM
2:10 PM
IF (Feature Flag
ASK_JIMINNY_REPORTS
is
ON
AND
user is ADMIN or Manager)
IF user has reports - then show the page
iTerm2ShelllEditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 0-zshAPP (-zsh)<Lukas/Stefka 121 • in 31mБГ100% <78• *3screenpipe"• *4-zshFri 24 Apr 13:29:47T81*5...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77736
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Galya Dimitrova
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stefka Stoyanova
Adelina Petrova
Vasil Vasilev
Stoyan Tomov
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Jira Cloud
Toast
Messages
Messages
Files
Files
Untitled
Untitled
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Lukas Kovalik
Yesterday at 2:06:39 PM
2:06 PM
ок, makes sense. За tracking ок ли е тогава същото условие да гледаме за поне един send report (kiosk или ask-jiminny).
Galya Dimitrova
Yesterday at 2:07:25 PM
2:07 PM
тракинга не е ли като се генерира репорта
Yesterday at 2:07:36 PM
2:07
тракинга в DD i Userpilot ли имаш предвид
Lukas Kovalik
Yesterday at 2:08:15 PM
2:08 PM
сори, имах предвид track-interest
Galya Dimitrova
Yesterday at 2:08:56 PM
2:08 PM
при клик на бутона само пращаме евент към планхат. Ники би трябвало да си хендълне дали показва бутона или не
Lukas Kovalik
Yesterday at 2:09:34 PM
2:09 PM
да за FE проверка
Galya Dimitrova
Yesterday at 2:09:43 PM
2:09 PM
искаш ли да се чуем
Lukas Kovalik
Yesterday at 2:09:51 PM
2:09 PM
може да
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
A huddle happened
Yesterday at 2:09:57 PM
2:09 PM
You and
Galya Dimitrova
were in the huddle for
5m
.
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Galya Dimitrova
ActivityFirefoxVIewMistorbookmarksProtllesToolsWindowHelpJiminny... ~% Galya Dimitrova# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...6? Direct messagesD. Galya Dimitrova E3 Aneliya Angelova, ...A. Stefka StoyanovaQ. Adelina PetrovaDo Vasil Vasilev "T8. Stoyan TomovR.. Nikolay Yankov&. Petko KashinskiPº. Aneliya Angelova. Nikolay Nikolovii. Mario Georgiev%: Todor Stamatov(F. Gabriela Dureva• Messagesr FilesUntitledLukas Kovalilможе даA huddle happened 2:09 PMYou and Galya Dimitrova were in the huddle forGalya Dimitrova 2:10 PMIF (Feature Flag ASK_JIMINNY_REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page• else - then show the new marketing pagefor AJ PanoramaFI CE IS(Feature Flag AUTOMATED_REPORTS is ON)AND user is ADMIN or Managen• if user-a has generated reports - then showthe pageelse - then show the new marketing pageTor exec kedorsELSEIf user is user is ADMIN or Manager - thenshow the new markenng vage for -xec Revorts(edited)Lukas Kovalnk 1:29 PMзлрасти аля. много 0оъз въпоос#:AppsJira Cloud® Toastкогато имаш време. гледам за+ AalShift + Return to add a new ling> D Interactions~ DJobs> DActivity> D AiAutomationAjReports>M AudioMAutomatedReports(C) RequestGenerateAsk.JiminnvReport.Job.oho(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.ohn(c)SondRenortMail.loh.nhn(c)SondRenortNotGeneratedMail.loh.nhnM Calendarv MCrm> MNalate259Sloaden->infolse'recipientsc2642651);)JY-20489 | Optimize Nudges - Pha© New Tab• Al reports promotion pages by nikof. JY-20738 add debug logs on AJ reJY-20157 add not enough activitie8 JiminnyU Userpilot | Nudge-createdPipelines - jiminny/appYour 'Not ennouch activities' reno• Login | Salesforce+ New Tab©jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedlssue=JY-20157O JIMINNY@ For you© Recent# Starred8f Apps0, Spaces+.**_RecentJiminny (New)+ **•ul Platiorm leamil SE KanbanII Capture Teama Enterprise Stability I...W Processing Team(9 Service-Desk= More spaces= FiltersCB Dashboards@ Operations2 Confluence8 Teams% Customise sidebar• searenSpaces / JiminnyPlatform Tean* Summary &4 JY-19240 / M JY-20157 VSend email notification when the report is not generatedQ Search boardREADY FOR DEV 3Investiaate and fiDescriptionWe need at least one activity in order to generate a report. However in the case there are 0 activities, the userwouldn't know why they didn't receive a report. So we should notity them about this.package limitsMAINTENANCEReadv tor Dev• if there are no activities for the scheduled AJ Report then send an email to the user/[URL_WITH_CREDENTIALS] Talloack with emailifor SSO for persistentname id formatREDUCE CHURNClosedП.20632 1? •eeeAJ Panorama> Don't showinternal errors tocustomersASK ANYTHING ON ANYTHINGDeployedProphet* .20278 1 @ [PASSWORD_DOTS]=1Unarade Python andlibraries - ApiMAINTENANCEDeployed19967 1@ [PASSWORD_DOTS]=CLONE - [Team insights]...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77737
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
iTerm2Shell|EditViewSessionScriptsProfilesWindowHelp• 0DOCKER381Last login: Fri Apr 24 12:59:23 on ttys009DEV (docker)O $82Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 0-zshAPP (-zsh)<Lukas/Stefka 121 • in 31mБГ100% <78• *3screenpipe"• *4-zshFri 24 Apr 13:29:49T81*5...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77738
|
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
SlackcalMistonWindowHelp@ Describe what you are looking forJiminny ... ~# platform-tickets# product launchesHome# random# releases# sofia-office# supportActivity# thank-yous# the_people_of jimi...6? Direct messages%. Galya Dimitrova(3) Aneliva Angelova. ...A Stefka Stovanovaa Adolina Detroval&a Vasil Vasiley MStoyan TomovNikolay Yankovf Petko KashinskiAº Aneliva Angelova# Nikolav NikolovMario GeorgievSe: Todor StamatovR Gabriela Dureval#:AppsS Jira Cloud• Toast> C Interactionsv D Jobs> O Activity> M AiAutomationM AiReports>M AudioMAutomatedReportse Galya Dimitrova60 v• MessagesUe Filest Untitledможе даA huddle happened 2:09 PMYou and Galya Dimitrova were in the huddle forGalya Dimitrova 2:10 PMIF (Feature Flag ASK JIMINNY REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page• else - then show the new marketing pagefor A DanoramalFI CE IS(Feature Flag AUTOMATED REPORTS is ON)AND user is ADMIN or Managen• if user-a has generated reports - then showthe page• else - then show the new marketing pageTor txec keporusELSEIf user is user is ADMIN or Manager - thenshow the new marketing page for -xec Reportsedited)Lukas Kovalik 1:29 PMзлрасти аля. много 00ъз въпооскогато имаш време. гледам за[URL_WITH_CREDENTIALS] Talloack with emallfor SSO for 'persistent'name id formatREDUCE CHURNClosedП.20632 1? •eeeAJ Panorama> Don't showinternal errors tocustomersASK ANYTHING ON ANYTHINGDenlovedProphet* .20278 1 @ [PASSWORD_DOTS]=1Unarade Python andlibraries - ApiMATNTENANCENanlovod19967 1@ [PASSWORD_DOTS]=CLONE - [Team insiahtsl...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - Slack
|
NULL
|
77739
|
|
DMSActivitySlackcalMistonWindowHelp@ Describe what DMSActivitySlackcalMistonWindowHelp@ Describe what you are looking forJiminny…..# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...6? Direct messagesD. Galya Dimitrova E3 Aneliya Angelova, ...A. Stefka StoyanovaR. Adelina PetrovaBo Vasil Vasilev "T8. Stoyan TomovR.. Nikolay Yankov&. Petko KashinskiF. Aneliya AngelovaP. Nikolay Nikolov Eii. Mario GeorgievS: Todor Stamatov(F. Gabriela Dureva#:Apps• Jira Cloud® Toast% Galya Dimitrova• MessagesC Files@ Untitledможе даA huddle happened 2:09 PMYou and Galya Dimitrova were in the huddle forGalya Dimitrova Il 2:10 PMIF (Feature Flag ASK JIMINNY REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page• else - then show the new marketing pagefor A DanoramalELSE IF(Feature Flag AUTOMATED_REPORTS is ON)AND user is ADMIN or Managen• if user-a has generated reports - then showthe pageelse - then show the new marketing pagefor Exec ReportsELSEIf user is user is ADMIN or Manager - theshow the new marketing page for Exec Fedited)Lukas Kovalik 1:29 PMзлрасти аля. много 00ъз въпооскогато имаш време. гледам заhttps://jiminny.atlassian.net/browse/JY-20157|AaShift + Return to add a new line S> D Interactions~ DJobs> DActivity> D AiAutomationAjReports> M AudioM AutomatedReports(C) RequestGenerateAsk.JiminnvReport.Job.ohv(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.ohn© SendReportMailJob.php(c)SondPenortNotGeneratedMail.loh.nhnD Calendarv MCrm> MNalate259Sloaden->infolse'recipientsci2642651);••• Ш)JY-20489 | Optimize Nudges - Pha© New Tab•Al reports promotion pages by nik. JY-20738 add debug logs on AJ reJY-20157 add not enough activitie8 JiminnyU Userpilot | Nudge-createdPipelines - jiminny/appM Your 'Not enpough activities' repor• Login | SalesforceO JIMINNY@ For you© Recent# Starred8f Apps0, SpacesJiminny (New)…ull Plauorm leamil SE KanbanII Capture Teama Enterprise Stability I...W Processing Team(4 Service-DeskPS:: Teams== Customise sidebarSpaces / JiminnyPlatform Tean® SummaryQ Search boardREADY FOR DEV 3Investigate and 1ipackage limitsMAINTENANCEReady for Dev.20564 1$1Backloa/ JY-19957• searcn4 JY-19240 / A JY-2015/|Send email notification when the report is not generatedv DescriptionWe need at least one activity in order to generate a report. However in the case there are 0 activities, the userwouldn't know why they didn't receive a report. So we should notify them about this.• if there are no activities for the scheduled AJ Report then send an email to the user/recepients• https://www.tiama.com/desian/ixcuelv9mxorizokosLAUn/Prolect-Phoenix:nodeid=8090-42046&t=nJK629FloDyaWRYR-1Notion Calendaris tested byJY-20653 Email notification is sent when Ask Jiminny report is…..~ ActivityHistoryWork loaaa… TammOmmSuggest a reply…..Status update...Thanks.Pro tip: press (M to commentNikolav Nikolov30 March 2026 at 14:29 |OA: 0,5 dBE: with Postmark - 1.5d1 c+ roJY-20726DONE VIn Dev•~ DetailsAssigneekeponerDevelopmentsIory polntestimateStory PointsOraanisatioPriorityFix versionsSprintDavsNeed PAParentICanny Links+ Create* Improve StoryLukas KovalikGalya DimitrovaOpen with VS Code1 branch4 commits3 hours aad1 pull reauestOPENNoneNone= MediumNonePlatform Sprint 2 Q2Yes|• JY-19240 AJ ReportsOnen Cannv Links• Lukas sterka 121 • In 31mReleasesste sprint100% 152Fri 24 Apr 13:29:53Ask Rovo• DeploymentsMore 5Group: QueriesDEPLOY 10Part2. Automated revortsAJ REPORTSClosedALIIBETIFEO JY-18909Evaluation for AI ActivityIvpesAUTO-DETECTED ACTIVITY TYPEDeployedvJY-19798Prevare Talloack with emallfor SSO for persistentname id formatREDUCE CHURNClosedП.20632 1 •e•AJ Panorama> Don't showinternal errors towlstomeASK ANYTHING ON ANYTHINGDeployedProohet'.20278 1Unarade Python andlibraries - ApiDeployed19967 1 @ [PASSWORD_DOTS]=CLONE - [Team insights]...
|
PhpStorm
|
NULL
|
NULL
|
77740
|
|
ActivityNotion CalendarVIewWindowJiminny... ~# pla ActivityNotion CalendarVIewWindowJiminny... ~# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...6? Direct messagesD. Galya Dimitrova E3 Aneliya Angelova, ...A. Stefka StoyanovaR. Adelina PetrovaDo Vasil Vasilev "T8. Stoyan TomovR.. Nikolay Yankov&. Petko KashinskiPº. Aneliya AngelovaP. Nikolay Nikolovii. Mario Georgiev%: Todor Stamatov(F. Gabriela Dureva#:Apps© Jira Cloud® Toast, Galya Dimitrova E• Messagese FilesUntitledGalya Dimitrova l 2:10 PMIF (Feature Flag ASK_JIMINNY_REPORTS isON AND user is ADMIN or Manager)• IF user has reports - then show the page• else - then show the new marketing pagefor AJ PanoramaELSEIF(Feature Flag AUTOMATED_REPORTS is ON)AND user 1s ADMIN or Man• if user-a has generated reports - then showthe pageelse - then show the new marketing pagefor txec RevortsELSEIt user is user is ADMIN or Manager - thenshow the new marketing page for Exec Reportsledited)Lukas Kovallik 1:29 PMздрасти Галя, много бръз въпроскогато имаш време, глелам заhttps://iiminnv.atlassian.net/browse/JY-20157N' Uira cloud+ Aa €Shift + Return to add a new ling> D Interactions~ DJobs> DActivity> D AiAutomationAjReports>M AudioM AutomatedReports(C) RequestGenerateAsk.JiminnvReport.Job.oho(C) RequestGenerateRenort.Job.ohoC) SendRevort.lob.ohn© SendReportMailJob.php(c)SondRenortNotGeneratedMail.loh.nhnM Calendarv MCrm> MNalate259Sloaden->infolse'Inociniontet2642651);••• Ш)JY-20489 | Optimize Nudges - PhaNew Tab•Al reports promotion pages by nikf. JY-20738 add debug logs on AJ reJY-20157 add not enough activitie8 JiminnyU Userpilot | Nudge-createdPipelines - jiminny/appYour 'Not ennouch activities' reno• Login | SalesforceL New TahIminny.aulasslan.nevlfa/sortwO JIMINNY@ For you© Recent# Starred8f Apps0, SpacesJiminny (New)iulu Plauorm leamil SE KanbanII Capture Teama Enterprise Stability I...W Processing Team(9 Service-Desk= More spaces= FiltersCB DashboardsC Operations2 Confluence:: Teams"a Customise sidebarSpaces / JiminnyPlatform Tean® SummaryQ Search boardREADY FOR DEV 3Investigate and 1ipackage limitsMAINTENANCEReadv tor Dev• ...20564 1Notifv a user befReport expiresBacklogJY-20508Uoarade BE libraMAINTENANCEBackloa/ JY-19957Tue 214 JY-19240 / A JY-Send email iDescriptionwve need at least onwouldn't know why• if there are no ac•https://www.tigrid=8090-420468Subtasksh.lY-20687 Cre:v Linked work item:is tested bv• JY-20653 Ema~ ActivitycommentsAaAWAmSuggest aPro tin: oressMNikolay NikBE: with Poso00madApril 2026 Week17Mon 20Chloe Cross (Parental Leave - 256 days)Andrea Llatanova (Parental Leave - Toy days)06:0007:0009:0010:00 l Daily - Platform 0945(13:2916:00Preparation for 1 Support DallySupport Daily 15:001 Daily - Platform 09:45Support Daily 15:00Thuze1 Daily - Platform 09:45Support Daily 15:00Lukas sterka 121• In 31mFri 24100% L2rH 24 Aor 13-29:00Week vTodaySat 25Lauren Hudson (PTO - 1 dav)Stelivan Georgiey (PTO - 1 day)Sun 26I| Daily - Platform 09:45f| Lukas/Stefka 121f) Support Daily 15:00...
|
PhpStorm
|
NULL
|
NULL
|
77741
|